Once installs succeed (see the lock-file fix), tsc --noEmit — the Typecheck step in the CI workflow — reports 499 errors across 264 files. The type-check gate has effectively never passed, and it cannot go green until these are addressed.
Representative clusters
className on AppText (~54 errors): components pass a className prop that AppTextProps does not declare (NativeWind typing not wired to the component).
- Test mocks vs
ApiClient (many): mocked clients are typed Mock<...> and miss get/post/put/patch/delete; Axios response mocks miss status/statusText/headers/config.
- Missing exports: e.g.
AnalyticsProvider from src/components, subscribeToCacheStatus from src/services/api.
- Implicit
any parameters and several Cannot find name (e.g. ScreenErrorBoundary, SessionExpiredModal) in App.tsx.
app.config.ts: name typed string | undefined but ExpoConfig.name requires string.
Suggested approach
Fix in themed batches (component prop types → shared test-mock helpers → missing exports/names → residual implicit-any), enabling a per-directory ratchet so the count only decreases, then make Typecheck a required, blocking gate once it reaches zero.
This is tracked separately because it is a codebase-wide effort independent of the CI-infrastructure and documentation fixes.
Once installs succeed (see the lock-file fix),
tsc --noEmit— theTypecheckstep in the CI workflow — reports 499 errors across 264 files. The type-check gate has effectively never passed, and it cannot go green until these are addressed.Representative clusters
classNameonAppText(~54 errors): components pass aclassNameprop thatAppTextPropsdoes not declare (NativeWind typing not wired to the component).ApiClient(many): mocked clients are typedMock<...>and missget/post/put/patch/delete; Axios response mocks missstatus/statusText/headers/config.AnalyticsProviderfromsrc/components,subscribeToCacheStatusfromsrc/services/api.anyparameters and severalCannot find name(e.g.ScreenErrorBoundary,SessionExpiredModal) inApp.tsx.app.config.ts:nametypedstring | undefinedbutExpoConfig.namerequiresstring.Suggested approach
Fix in themed batches (component prop types → shared test-mock helpers → missing exports/names → residual implicit-any), enabling a per-directory ratchet so the count only decreases, then make
Typechecka required, blocking gate once it reaches zero.This is tracked separately because it is a codebase-wide effort independent of the CI-infrastructure and documentation fixes.