Skip to content

chore: suppress existing type errors so lint:tsc can run in CI - #10251

Draft
cryptodev-2s wants to merge 1 commit into
mainfrom
tsc-suppressions
Draft

cryptodev-2s wants to merge 1 commit into
mainfrom
tsc-suppressions

Conversation

@cryptodev-2s

Copy link
Copy Markdown
Contributor

Explanation

lint:tsc typechecks every package, but the repo currently has 1,591 type errors, nearly all of them in test files. That makes it impossible to enforce typechecking in CI without fixing everything first.

This adds tsc-suppressions.json, which records how many errors of each code every file currently produces, in the same shape as eslint-suppressions.json.

  • yarn lint:tsc:check typechecks the repo and fails when a file produces an error the suppressions don't cover, or when a suppression no longer covers anything.
  • yarn lint:tsc:suppress regenerates the file.

Existing errors stay parked so they can be worked through package by package, while packages that are already clean can't regress. A cold run takes about 12 seconds, so the check is wired back into CI and into yarn lint.

Error messages are deliberately left out of the suppression key. Their wording changes between TypeScript releases, which would invalidate the whole file at once.

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Base automatically changed from populate-all-lint-tsconfigs to main September 15, 2026 15:17
Adds tsc-suppressions.json, which records how many type errors of each code every file currently produces, in the same shape as eslint-suppressions.json.

yarn lint:tsc:check typechecks the repo and fails when a file produces an error the suppressions do not cover, or when a suppression no longer covers anything. yarn lint:tsc:suppress regenerates the file.

Also gives the package lint configs a rootDir so that declarations for files outside a package, such as tests/helpers.ts, are emitted into the lint cache rather than into the repo.
@cryptodev-2s cryptodev-2s changed the title Suppress existing type errors so lint:tsc can run in CI chore: suppress existing type errors so lint:tsc can run in CI Sep 15, 2026
@cryptodev-2s cryptodev-2s self-assigned this Sep 15, 2026
@cryptodev-2s
cryptodev-2s requested a review from mcmire September 15, 2026 16:16
@cryptodev-2s

cryptodev-2s commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

@mcmire I am still reviewing this however does the idea sounds to you ?

@mcmire

mcmire commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

@cryptodev-2s Yeah if you can get this working this would be great!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants