veza/apps
senke a66aeade45 chore(web): drop legacy openapi-generator-cli — orval is the single source (v1.0.8 B9)
Closes Phase 3 of the v1.0.8 OpenAPI typegen migration. With the four
feature-service migrations (B2 dashboard, B3 profile, B4 playlist,
B5 track, B6 partial auth) landed, the four remaining importers of
the legacy typescript-axios output were all consuming pure model
types — easily portable to the equivalent orval-generated models
under src/services/generated/model/.

Type imports re-pointed (4 sites):
- src/types/index.ts            — VezaBackendApiInternalModelsUser /
                                  Track / TrackStatus / Playlist
- src/types/api.ts              — same trio (Track / TrackStatus / User)
- src/features/auth/types/index.ts — TokenResponse +
                                  ResendVerificationRequest
- src/features/tracks/types/track.ts — Track / TrackStatus

Same shapes, sourced from openapi.yaml — orval and the legacy
generator were emitting structurally-identical interfaces because
swaggo's spec is the common source. Verified by `npm run typecheck`
clean and 1187/1188 tests green (1 skipped is the long-standing
ResetPasswordPage flake).

Cleanup performed:
1. `git rm -rf apps/web/src/types/generated/` — 198 files / ~23k LOC
   of auto-generated typescript-axios output gone.
2. `npm uninstall @openapitools/openapi-generator-cli` — drops the
   ~150 MB Java-bundled dependency tree from node_modules.
3. `apps/web/scripts/generate-types.sh` — collapsed from a two-step
   "[1/2] legacy / [2/2] orval" pipeline to a single orval call.
4. `apps/web/scripts/check-types-sync.sh` — now diffs only
   `src/services/generated/`. The "regenerate two trees" complexity
   is gone.
5. `.husky/pre-commit` — message updated to point at the new tree.

Knock-on: the pre-commit hook should run noticeably faster (no Java
JVM spin-up to invoke openapi-generator-cli on every commit), and a
fresh `npm install` is leaner.

Not yet removed (still active under hand-written services):
- services/api/{auth,users,tracks,playlists,queue,search,social}.ts
  — these wrap features/<feature>/api/* services and remain in use
  by 2-15 callers each. They live in the orval-driven world (their
  underlying calls go through orval mutator) and don't import the
  legacy types, so they're safe parallel surfaces. Consolidation
  punted to v1.0.9 once all auth/queue endpoints are annotated and
  the remaining authService 5/9 functions ship.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 00:02:58 +02:00
..
web chore(web): drop legacy openapi-generator-cli — orval is the single source (v1.0.8 B9) 2026-04-26 00:02:58 +02:00