ShopperCove
Menu
All writingBlogTopicsCategoriesAboutRSS
Blog
Categories
Observability & SRE62All categories
About

Plate 78

  1. Blog

oxlint 1.87.0: React suggestion fixes + jsx-a11y hardening (5 Oct 2026)

oxlint published v1.87.0 on 5 October 2026: suggestion support for three React/unicorn rules and jsx-a11y/label/mouse/lang hardening plus other fixes. npm latest 1.87.0 confirmed; ShopperCove docs checklist only; no affiliate.

Aditya Challa·5 October 2026·3 min read

Summary
On this page
  1. What lands in 1.87.0
  2. Features (suggestion support)
  3. Bug fixes (jsx-a11y + more)
  4. Hands-on upgrade checklist
  5. Bottom line
  6. Sources
  7. Related

oxlint 1.87.0: React suggestion fixes + jsx-a11y hardening (5 Oct 2026)

On 5 October 2026, the Oxc project published oxlint v1.87.0. ShopperCove did not upgrade a production lint pipeline for this note and did not run benchmarks. Package identity was confirmed on the npm registry on 5 October 2026 (oxlint@1.87.0, dist-tag latest, npm time 2026-10-05T11:05:35.081Z). Primary source: the GitHub release oxlint_v1.87.0 (published 2026-10-05T11:04:25Z). Docs entry point: Oxc linter guide. This is a docs-based upgrade checklist—not performance advice and not a security advisory (no CVEs are claimed here).

There is no affiliate link in this article. This post has no affiliate links.

What lands in 1.87.0

Features (suggestion support)

From the release notes:

RuleChange
react/no-unescaped-entitiesImplement suggestion (#27292)
unicorn/no-useless-switch-caseImplement suggestion (#27245)
react/jsx-no-target-blankImplement suggestion (#27181)

Suggestions matter when your editor or oxlint --fix path can offer a one-click fix without treating the diagnostic as a silent autofix. Expect clearer remediation for unescaped entities in JSX text, useless switch cases, and target="_blank" without rel hardening—still review every applied edit.

Bug fixes (jsx-a11y + more)

AreaFix
jsx-a11y/label-has-associated-controlValidate label attribute values (#27302)
jsx-a11y/mouse-events-have-key-eventsHandle nullish event handlers (#27306)
jsx-a11y/langValidate lang expression strings (#27304)
unicorn/numeric-separators-styleReport misgrouped BigInt literals (#27207)
unicorn/no-zero-fractionsParenthesize separator and large integers in fixer (#27206)
parserValidate TypeScript type member separators (#27222)
eslint/prefer-exponentiation-operatorPreserve autofix precedence (#27150)
valid-titleContinue checks after allowed words (#27146)
eslint/no-unused-varsRespect disabled argument checks for used ignore patterns (#26925)

The jsx-a11y trio is the practical frontend signal: label association, keyboard parity for mouse handlers, and lang expression checking all get sharper validation. Pair this release with your existing ESLint / typescript-eslint notes if you run oxlint beside or instead of classic ESLint in CI.

Hands-on upgrade checklist

  1. Inventory: npx oxlint --version or npm ls oxlint. Note whether you are below 1.87.0.
  2. Pin / bump in staging: install oxlint@1.87.0. Confirm with npm view oxlint version → expect 1.87.0 as latest as of sources read 5 Oct 2026.
  3. Re-run CI / local lint: watch for new or quieter jsx-a11y findings (labels, mouse/key pairs, lang), and for suggestion-capable diagnostics on the three React/unicorn rules above.
  4. Editor path: if you rely on oxlint suggestions in VS Code / Zed / CI --fix, spot-check a file that previously showed jsx-no-target-blank or unescaped entities.
  5. Do not invent security urgency: this minor is features + bugfixes in the official release notes; ShopperCove is not attaching CVE IDs.
  6. Toolchain neighbors: oxlint sits in the Oxc family next to formatter/parser work. For unified toolchain context see ShopperCove’s live Vite+ 1.0 note; for classic ESLint see ESLint 10.12 and typescript-eslint 8.71.

ShopperCove did not change production oxlint versions for this article. Prefer the GitHub release and linter docs over third-party roundups.

Bottom line

oxlint v1.87.0 (5 Oct 2026) adds suggestions for react/no-unescaped-entities, unicorn/no-useless-switch-case, and react/jsx-no-target-blank, plus jsx-a11y and other rule/parser fixes. Pin oxlint@1.87.0 when ready. No affiliate.

Sources

  • https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.87.0
  • https://oxc.rs/docs/guide/usage/linter
  • https://www.npmjs.com/package/oxlint
  • https://registry.npmjs.org/oxlint/1.87.0
  • https://github.com/oxc-project/oxc

Related

  • https://www.shoppercove.com/blog/eslint-10-12-release-october-2026
  • https://www.shoppercove.com/blog/typescript-eslint-8-71-no-unsafe-enum-assignment-october-2026
  • https://www.shoppercove.com/blog/vite-plus-1-0-unified-toolchain-october-2026
  • https://www.shoppercove.com/blog/playwright-1-63-test-locks-october-2026
  • https://www.shoppercove.com/blog/astro-7-3-preview-ignore-lock-october-2026
  • https://www.shoppercove.com/blog/astro-starlight-0-42-popover-js-dist-october-2026
  • https://www.shoppercove.com/blog/webpack-5-111-esm-output-stable-september-2026
  • https://www.shoppercove.com/blog/react-19-3-view-transitions-fragment-refs-2026
oxlintoxcreactjsx-a11ylintingjavascripttypescriptweb development

Lab evidence

What I found running this

Sources read 5 Oct 2026 (Asia/Calcutta): GitHub release oxlint_v1.87.0 (published 2026-10-05T11:04:25Z); npm oxlint@1.87.0 (time 2026-10-05T11:05:35.081Z; dist-tag latest=1.87.0). Features: suggestions for react/no-unescaped-entities, unicorn/no-useless-switch-case, react/jsx-no-target-blank. Fixes include jsx-a11y label/mouse/lang, unicorn numeric separators / no-zero-fractions, parser TS member separators, prefer-exponentiation-operator, valid-title, no-unused-vars. Checklist: bump oxlint to 1.87.0; re-run CI; spot-check suggestions. No production lint suite upgraded on ShopperCove; no invented CVEs; no affiliate.

Notes when a lab post goes up

Occasional email for new hands-on reviews. No sequence and no sponsors.

Related links

  • Plate 51

    Biome 2.5.15: type-inference speedups, nursery rules, HTML formatter (30 Sep 2026)

    Biome published @biomejs/biome@2.5.15 on 30 September 2026: type-inference and HTML formatter performance, plus nursery rules for React defaults, Svelte runes, logical CSS, and more. ShopperCove upgrade checklist only; no affiliate.

    5 Oct 2026

  • Plate 46

    Ready Client Sites live demos: 15 prebuiltwebs previews, admin panel, SEO checks (Oct 2026)

    New Ready Client Sites angle: ShopperCove fetched all 15 live prebuiltwebs.com demos — client-rendered React SPAs with hash routes, built-in admin/enquiry/upload APIs, placeholder content JSON, no robots.txt/sitemap, soft 404s — and turned it into a pre-purchase SEO and handover checklist. Distinct from the Node.js packs and launch-checklist posts. One disclosed hop. No purchase.

    5 Oct 2026

  • Plate 93

    typescript-eslint 8.71.0: no-unsafe-enum-assignment + rule fixes (28 Sep 2026)

    typescript-eslint published v8.71.0 on 28 September 2026: new typed rule @typescript-eslint/no-unsafe-enum-assignment (flags plain numbers/unsafe values assigned into enum-typed locations) plus fixes for no-misused-promises, no-unnecessary-type-assertion, unbound-method, and switch-exhaustiveness-check. npm latest confirmed 8.71.0; ShopperCove docs checklist only; pairs with live ESLint 10.12 coverage; no affiliate.

    5 Oct 2026

On this page

  1. What lands in 1.87.0
  2. Features (suggestion support)
  3. Bug fixes (jsx-a11y + more)
  4. Hands-on upgrade checklist
  5. Bottom line
  6. Sources
  7. Related
All writingBlogCategoriesTopicsAboutPrivacyRSS

© 2026 ShopperCove