Name a configuration file instead of discovering .vitest-dedup.json upward.
--globals
Treat describe/it as Vitest globals when config detection cannot decide. Opt-in because guessing would invent findings in Cypress, Mocha, or Jasmine files.
--changed-since <rev>
Report only findings with a participant in a file changed since that revision.
Exit codes are distinct so CI can tell a broken analyzer from duplicated tests:
Code
Meaning
0
The error-severity duplication rate is within threshold — with the default of 0, no error-severity findings at all.
1
Quality gate failed: the threshold was exceeded, or more findings than --fail-on-new allows are absent from the baseline.
2
Operational error: bad configuration, unreadable path, no tests analyzed without a quality-gate failure, unusable baseline or --changed-since revision, or --fail-on-incomplete on another degraded run.