Skip to content

chore(dev): scope and quiet the lint checker - #3596

Merged
setchy merged 1 commit into
mainfrom
chore/quiet-dev-lint-checker
Nov 1, 2026
Merged

setchy merged 1 commit into
mainfrom
chore/quiet-dev-lint-checker

Conversation

@setchy

@setchy setchy commented Nov 1, 2026

Copy link
Copy Markdown
Member

pnpm dev prints a [oxlint] Found 0 error and 0 warning line after every lint run: one per file save, plus runs triggered by output that dev itself rewrites. Two separate causes:

  1. The summary is unconditional. vite-plugin-checker logs a summary after every run, clean or not, and dev.logLevel only filters diagnostics. A custom dev-server logger now drops just the clean summary, so real errors and their summaries still print.
  2. The watcher covers more than linted code. It watched its root, so build/ (rewritten on every Electron rebuild) and the GraphQL generated/ modules (rewritten on every codegen run) triggered lint runs for files the lint config ignores. The watcher is now limited to src, scripts, and the linted root config files. The startup run still lints the whole project, so nothing is missed at boot.

Verification

  • pnpm check: 560 files formatted, 519 files lint/type clean.
  • Dev server boot and a file save produce no oxlint output.
  • A temporary file with a lint error still reports ERROR(oxlint) … [oxlint] Found 2 errors and 0 warning.

Notes

Each per-save run costs about 0.6s CPU for the changed files. Linting still runs in the recommended oxc editor extension (same vite.config.mts config) and in pnpm check at pre-commit and in CI.

`vite-plugin-checker` logs `[oxlint] Found 0 error and 0 warning` after every
lint run, clean or not, so each save during `pnpm dev` printed a line that
reported nothing. Its `dev.logLevel` only filters diagnostics, so drop the
clean summary from a custom dev-server logger. Errors and their summaries
still print.

The checker also watched its root, which includes output that dev rewrites
constantly: `build/` on every Electron rebuild and the GraphQL generated
modules on every codegen run. Neither is linted, so those runs only burned
CPU. Limit the watcher to the linted sources and root config files; the
startup run still lints the whole project.
@setchy
setchy requested a review from afonsojramos as a code owner November 1, 2026 20:55
@github-actions github-actions Bot added the chore Miscellaneous tasks label Nov 1, 2026
@sonarqubecloud

sonarqubecloud Bot commented Nov 1, 2026

Copy link
Copy Markdown

@setchy
setchy merged commit a0aafc6 into main Nov 1, 2026
19 checks passed
@setchy
setchy deleted the chore/quiet-dev-lint-checker branch November 1, 2026 21:09
@github-actions github-actions Bot added this to the Release 8.0.0 milestone Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Miscellaneous tasks

Development

Successfully merging this pull request may close these issues.

1 participant