CI Perf Lint

prefer-oxlint-type-check-over-tsc

Why it matters

Oxlint’s type-aware mode runs the TypeScript type checker (tsgolint) inside the same TypeScript program it uses for linting. That means one pass can both lint and report type errors, replacing a separate tsc --noEmit step and avoiding the duplicate program setup and analysis.

What it flags

The rule reports a separate tsc type-check path when the repository already uses oxlint:

It only fires when oxlint is a repository dependency. tsc -b / tsc --build can emit JavaScript and declarations, so they are not flagged without explicit --noEmit. --noEmit false is also excluded. vue-tsc / svelte-check are intentionally out of scope because their coverage over .vue / .svelte files is not equivalent.

Prerequisites

Folding type checking into oxlint requires:

The finding message states which prerequisite is still missing for the repository.

Suggested action

Confirm oxlint and oxlint-tsgolint are current, then replace the separate tsc type-check with oxlint --type-aware --type-check on the lint step and remove the redundant tsc invocation. Keep any separate declaration/build emit.

Verification

Compare CI type-check wall-clock time and reported type errors before and after folding tsc --noEmit into oxlint --type-aware --type-check.

Sources