Skip to content

Upgrade oxlint and oxfmt#3148

Merged
david-crespo merged 4 commits intomainfrom
claude/upgrade-oxlint-oxfmt-lpULG
Mar 21, 2026
Merged

Upgrade oxlint and oxfmt#3148
david-crespo merged 4 commits intomainfrom
claude/upgrade-oxlint-oxfmt-lpULG

Conversation

@david-crespo
Copy link
Collaborator

@david-crespo david-crespo commented Mar 21, 2026

Did this from the mobile app, which is fun. I saw https://oxc.rs/blog/2026-03-11-oxlint-js-plugins-alpha.html and was wondering if the React Hook Form linter plugin works now. The answer is 2/3 of the way. One rule still has to be disabled.

claude added 4 commits March 21, 2026 01:11
… plugin

- Upgrade oxlint 1.50.0 → 1.56.0, oxfmt 0.35.0 → 0.41.0
- Install eslint-plugin-react-hook-form and wire it up as a jsPlugin
- Enable two compatible rules: destructuring-formstate and no-nested-object-setvalue
  (no-access-control still uses context.getScope() which oxlint doesn't support)
- Fix NodeJS.Timeout → ReturnType<typeof setTimeout> in Spinner.tsx
  (NodeJS types aren't available in browser context, triggering no-redundant-type-constituents)
- Suppress await-thenable false positive on `await using` in bump-omicron.ts

https://claude.ai/code/session_013HaHiwWNFfGRU8ByisGb1K
oxlint 1.56.0 requires oxlint-tsgolint>=0.15.0. Previously we used
--legacy-peer-deps to work around this, which caused @types/node to
stop being installed as a peer dep of vite/vitest, producing 48 tsc errors.
Upgrading oxlint-tsgolint to 0.17.1 resolves the conflict and restores
the correct peer dep resolution.

https://claude.ai/code/session_013HaHiwWNFfGRU8ByisGb1K
Replace the hand-built lockfile with one regenerated from scratch to
get deterministic transitive dep resolution.

https://claude.ai/code/session_013HaHiwWNFfGRU8ByisGb1K
makeOmicronWorktree() correctly implements [Symbol.asyncDispose], making
it properly async-disposable. The oxlint await-thenable false positive
happens because tools/deno is excluded from tsconfig, so oxlint 1.56.0
lacks type info and wrongly flags the await as non-async-disposable.

https://claude.ai/code/session_013HaHiwWNFfGRU8ByisGb1K
@vercel
Copy link

vercel bot commented Mar 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
console Ready Ready Preview Mar 21, 2026 2:07am

Request Review

@david-crespo david-crespo marked this pull request as ready for review March 21, 2026 03:25
@david-crespo david-crespo merged commit fccf1b7 into main Mar 21, 2026
7 checks passed
@david-crespo david-crespo deleted the claude/upgrade-oxlint-oxfmt-lpULG branch March 21, 2026 03:29
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.

2 participants