Skip to content

fix(check): respect oxlint exit code so denyWarnings fails vp check#1425

Merged
fengmk2 merged 2 commits intomainfrom
fix-denyWarnings
Apr 21, 2026
Merged

fix(check): respect oxlint exit code so denyWarnings fails vp check#1425
fengmk2 merged 2 commits intomainfrom
fix-denyWarnings

Conversation

@fengmk2
Copy link
Copy Markdown
Member

@fengmk2 fengmk2 commented Apr 20, 2026

vp check was unconditionally resetting the status to success whenever
lint reported only warnings, masking the non-zero exit code produced by
oxlint when options.denyWarnings (or --deny-warnings) is enabled.
Drop the override and trust oxlint's exit code so warning-only runs fail
the check when warnings have been opted in as failures.

Closes #1424


Note

Medium Risk
Changes vp check exit-code behavior for warning-only lint results, which can cause previously-passing pipelines to fail when denyWarnings is enabled. Scope is small and localized to the check command plus a new regression snap-test.

Overview
vp check no longer forces a success exit status when oxlint reports only warnings; it now propagates oxlint’s actual exit code so lint.options.denyWarnings (or --deny-warnings) correctly fails the check.

Adds a new snap-test fixture check-lint-warn-deny-warnings that configures denyWarnings: true with a warning-level no-console rule and asserts the expected warning output and summary.

Reviewed by Cursor Bugbot for commit f6466c2. Configure here.

@netlify
Copy link
Copy Markdown

netlify bot commented Apr 20, 2026

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit bcd1a84
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/69e6d53bf841610008dfc329

@fengmk2 fengmk2 self-assigned this Apr 20, 2026
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 20, 2026


How to use the Graphite Merge Queue

Add the label auto-merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 20, 2026

@cursor review

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit f6466c2. Configure here.

fengmk2 added 2 commits April 21, 2026 09:34
`vp check` was unconditionally resetting the status to success whenever
lint reported only warnings, masking the non-zero exit code produced by
oxlint when `options.denyWarnings` (or `--deny-warnings`) is enabled.
Drop the override and trust oxlint's exit code so warning-only runs fail
the check when warnings have been opted in as failures.

Closes #1424
@fengmk2 fengmk2 marked this pull request as ready for review April 21, 2026 01:41
@fengmk2 fengmk2 requested review from branchseer and cpojer April 21, 2026 01:41
Copy link
Copy Markdown
Member

@cpojer cpojer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't know this feature existed when I built the vp check wrapper for oxlint.

I don't know why this feature exits in oxlint tbh, wouldn't it be better to force people to just set their lint rules to "error"?

@fengmk2
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 21, 2026

I don't know why this feature exits in oxlint tbh, wouldn't it be better to force people to just set their lint rules to "error"?

Many of the built-in rules are configured as warn by default. By setting denyWarnings, there's no need to find and change all these rules to error individually. I believe this is the intended purpose. 😃

@cpojer
Copy link
Copy Markdown
Member

cpojer commented Apr 21, 2026

Yeah, I understand that, but imho the problem is that the concept of a warning exists at all in Oxlint. There should only be errors.

@fengmk2 fengmk2 merged commit 6bfcbdb into main Apr 21, 2026
37 checks passed
@fengmk2 fengmk2 deleted the fix-denyWarnings branch April 21, 2026 02:31
@fengmk2
Copy link
Copy Markdown
Member Author

fengmk2 commented Apr 21, 2026

vinext ci fails fix: cloudflare/vinext#864

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vp check exits with status 0 on warnings even when options.denyWarnings is enabled

2 participants