fix: cap oxlint below 1.67 to stop duplicate Vitest instances in pnpm repos#791
Merged
Conversation
… monorepos (#699) oxlint 1.67.0 added an optional peer dependency on vite-plus. In pnpm workspaces that install vite-plus at the root, react-doctor's floating oxlint range (^1.66.0 -> >=1.67) resolves that peer edge against the root's vite-plus, forcing a second peer-resolution context for the Vite+ toolchain. The conflicting contexts install two physical copies of the Vitest fork (@voidzero-dev/vite-plus-test), so hooks register in one copy while suites live in the other and collection fails with "Vitest failed to find the current suite". Capping oxlint to >=1.66.0 <1.67.0 keeps the peer edge out of react-doctor's graph; verified against the issue's minimal repro that the fork dedupes back to a single instance. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
commit: |
Contributor
|
No React Doctor issues found. 🎉 Reviewed by React Doctor for commit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #699.
oxlint 1.67.0 added an optional peer dependency on
vite-plus, so react-doctor's floatingoxlint: ^1.66.0range makes pnpm resolve that peer against the workspace root'svite-plusin Vite+ monorepos, forcing a second peer-resolution context that installs a duplicate copy of the Vitest fork (@voidzero-dev/vite-plus-test) and breaks test collection with "Vitest failed to find the current suite". This caps oxlint to>=1.66.0 <1.67.0inreact-doctor,@react-doctor/core, and the rootpnpm.overrides, regenerates the lockfile (resolved version unchanged at 1.66.0; the extra lockfile lines are pnpm 10.29 addinglibcmetadata), and adds a patch changeset. Verified against the issue's minimal repro that a fresh install dedupes the fork back to a single instance, while the open PRs #701 and #702 both still resolve to oxlint ≥1.67 (or reintroduce it via a root oxlint install) and leave two instances. Build, typecheck,check:published-deps, lint, and format all pass; the one failing core test (check-expo-project.test.ts) fails identically on a clean checkout and is unrelated. Before bumping oxlint past 1.66 again, the upstream peer dep (oxlint) or pnpm's override handling for auto-installed peers needs to change first.🤖 Generated with Claude Code
Note
Low Risk
Dependency version ceiling only; no runtime or lint logic changes, with lockfile still on oxlint 1.66.0.
Overview
Caps
oxlintfrom^1.66.0to>=1.66.0 <1.67.0in the rootpnpm.overrides,@react-doctor/core, andreact-doctor, with a matching lockfile refresh (still resolves to 1.66.0). A patch changeset documents the rationale.oxlint 1.67.0 introduced an optional peer on
vite-plus, which in pnpm monorepos with root Vite+ can pulloxlintinto a second peer context and duplicate@voidzero-dev/vite-plus-test, breaking Vitest collection (Vitest failed to find the current suite, #699). Staying below 1.67 avoids that peer edge so the Vitest fork dedupes to one instance.Reviewed by Cursor Bugbot for commit cfde28f. Bugbot is set up for automated code reviews on this repo. Configure here.