Skip to content

Update client-api dependencies, bump openapi-fetch to 0.17, add CI#22169

Open
dannon wants to merge 5 commits intogalaxyproject:devfrom
dannon:client-api
Open

Update client-api dependencies, bump openapi-fetch to 0.17, add CI#22169
dannon wants to merge 5 commits intogalaxyproject:devfrom
dannon:client-api

Conversation

@dannon
Copy link
Member

@dannon dannon commented Mar 18, 2026

Summary

  • Update all client-api transitive dependencies, resolving security vulnerabilities in the lockfile
  • Bump openapi-fetch from ^0.15.0 to ^0.17.0 in both client/ and client-api/, keeping them aligned. No breaking API changes from 0.15→0.17 (just additive features: custom path serializers, read/write markers). Two type-level fixes where 0.17 widens tuple types like [string, string][] to string[][] in inferred response types.
  • Add a new client-api-test.yaml CI workflow that builds and tests the client-api package on changes to client-api/ or client/src/api/
  • Switch client-api from npm to pnpm to match the main client's recent migration. Drops package-lock.json, updates CI workflows accordingly.

Supersedes #21313, #21121, #22143.

Test plan

  • cd client-api && pnpm run build — ESM+CJS build succeeds
  • cd client-api && pnpm test — 9/9 tests pass
  • cd client && pnpm test — 310 files, 1763 tests pass
  • cd client && npx vue-tsc --noEmit — clean, 0 type errors

dannon added 3 commits March 18, 2026 14:02
Update all client-api package dependencies within semver ranges,
resolving security vulnerabilities in transitive deps (undici, glob,
vite, rollup, minimatch, brace-expansion).
No breaking API changes from 0.15→0.17, just additive features
(custom path serializers, read/write markers). Two type-level fixes
needed where openapi-fetch 0.17 widens tuple types like
[string, string][] to string[][] in inferred response types.
Runs build and tests on changes to client-api/ or client/src/api/
(the symlinked types). Installs client deps first since client-api's
type symlink depends on the client's tsconfig resolution.
Aligns with the main client's recent migration to pnpm. Drops
package-lock.json in favor of pnpm-lock.yaml and updates CI
workflows (client-api-test, publish_artifacts) accordingly.
@dannon dannon changed the title Update client-api dependencies and align openapi-fetch Update client-api dependencies, bump openapi-fetch to 0.17, add CI Mar 18, 2026
@dannon dannon marked this pull request as ready for review March 18, 2026 19:38
@github-actions github-actions bot added this to the 26.1 milestone Mar 18, 2026
Copy link
Contributor

@davelopez davelopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@dannon
Copy link
Member Author

dannon commented Mar 19, 2026

Re: the type casts -- confirmed it's a genuine bug in openapi-typescript-helpers 0.1.0 (bundled with openapi-fetch 0.17). The new Readable<T> type has a recursive branch T extends (infer E)[] ? Readable<E>[] that matches tuples since tuples extend arrays, but infer E extracts the union of element types and loses positional info -- so [string, string][] becomes string[][].

Upstream bug: openapi-ts/openapi-typescript#2632
Fix PR (not yet merged): openapi-ts/openapi-typescript#2673

Added comments referencing the issue at both cast sites so they're easy to find and remove later.

Reference upstream bug (openapi-ts/openapi-typescript#2632) at
both cast sites so they're easy to find and remove once the
Readable<T> tuple widening fix lands.
Copy link
Contributor

@davelopez davelopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for checking the casts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Needs Review

Development

Successfully merging this pull request may close these issues.

2 participants