PatchRail

TypeScript type checking — TS2339 / is not assignable

Log signatures

error TS2339: Property 'x' does not exist on type
error TS2769: No overload matches this call
Type 'string' is not assignable to type 'number'
Object is possibly 'undefined'
error TS2304: Cannot find name

What’s happening

tsc --noEmit (or vue-tsc) found type errors; every error carries a TS____ code. The recurring patterns: TS2339 Property does not exist on type after a dependency bump — the library's types changed shape; TS2769 No overload matches this call — usually one wrong argument, but TypeScript prints every candidate overload, so the error looks enormous (read only the last "argument of type X is not assignable" line of the block); Object is possibly 'null'/'undefined' — strict null checking doing its job; Cannot find name — a missing import or a missing @types/ package, not a logic error.

Fix playbook

  1. 1Reproduce with the project's own typecheck script (it encodes the right tsconfig and tool — vue-tsc vs tsc matters).
  2. 2Fix the first error in a file before recompiling judgment on the rest — TypeScript errors cascade hard; one bad import can produce fifty downstream errors.
  3. 3No overload matches: read only the final nested "not assignable" reason. That's the actual mismatch.
  4. 4Null-possibly errors: narrow with real checks (if (!x) return, optional chaining). Each ! non-null assertion is a deferred runtime crash — budget them like debt.
  5. 5Library type drift after upgrade: check the package's release notes/migration guide for the types change before "fixing" your call sites one by one — there's usually one intended new pattern.

Prevention

  • Run tsc --noEmit in CI even if your bundler (vite/esbuild/swc) skips type checking at build time — bundlers compile type-broken code happily, and without the gate the errors surface in editors, gradually, forever.

Triage every red build, not just this one.

This page is one chapter of CI Failure Triage Patterns — 31 failure classes, real log signatures, and full fix playbooks in one PDF.

Get the pack ($19): patchrail.gumroad.com/l/ci-failure-triage

pipx install patchrail