apps_v1.81.0
oxlint v1.81.0 & oxfmt v0.66.0
Added 2
- Linter nextjs/no-typos rule now implements suggestion
- Formatter CSS formats declaration-shaped raw-prelude rules for postcss nested config blocks
Fixed 16
- Linter LSP prevents tsgolint from holding onto processes
- Linter import/no-empty-named-blocks makes empty value import removal a suggestion
- Linter eslint/object-shorthand preserves `__proto__` semantics
- Linter unicorn/prefer-set-size ignores shadowed `Set` constructors
- Linter clamps invalid JS plugin locations
- Linter normalizes reversed JS plugin locations
- Linter eslint/no-use-before-define runs on JS and JSX files
- Linter unicorn/no-useless-spread treats typed arrays as a distinct value hint
- Linter react/no-unstable-nested-components checks nested component object property names
- Linter eslint/no-unassigned-vars skips Svelte and Vue files
- Linter plugins fixes interaction between JS plugins and Vue rules
- Linter plugins alters method for obtaining mutable `Program` when sending AST to JS plugins
- Linter unicorn/prefer-math-min-max avoids unsafe autofix
- Formatter re-adds suppressed statement terminators per options.semi
- Formatter prints suppressed typecast parens
- Formatter sort-imports handles custom side effect groups
From Oxc
Table of Contents
Oxlint v1.81.0
🚀 Features
- 60b945d linter/nextjs/no-typos: Implement suggestion (#26091) (Mikhail Baev)
🐛 Bug Fixes
- 33ac4b0 linter/lsp: Prevent tsgolint from holding onto processes (#25570) (Adrian Schaedle)
- baf4b1e linter/import/no-empty-named-blocks: Make empty value import removal a suggestion (#26155) (camc314)
- 77cfaec linter/eslint/object-shorthand: Preserve
__proto__semantics (#26154) (camc314) - fa3c082 linter/unicorn/prefer-set-size: Ignore shadowed
Setconstructors (#26153) (camc314) - e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)
- d86c113 linter: Normalize reversed JS plugin locations (#26138) (camc314)
- 73c09b2 linter/eslint/no-use-before-define: Run on JS, JSX files (#26114) (camc314)
- 03ef0f2 linter/unicorn/no-useless-spread: Treat typed arrays as a distinct value hint (#26067) (Aadharsh Pannirselvam)
- bd15905 linter/react/no-unstable-nested-components: Check nested component object property names (#26101) (camc314)
- 3910e2b linter/eslint/no-unassigned-vars: Skip Svelte and Vue files (#26042) (Hamody We)
- 047f7ca linter/plugins: Fix interaction between JS plugins and Vue rules (#26080) (overlookmotel)
- 8531b9b linter/plugins: Alter method for obtaining mutable
Programwhen sending AST to JS plugins (#26077) (overlookmotel) - dc464ff linter/unicorn/prefer-math-min-max: Avoid unsafe autofix (#26060) (camc314)
📚 Documentation
- 464ddd1 linter: Support a shared short description for jest/vitest rules (#26186) (connorshea)
- 9db5ad3 linter: Add short description to
vue/no-dupe-keys(#26183) (connorshea) - db66f58 linter: Correct export/import mismatch in bar and foo example (#25927) (billychannnnnn)
- d5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (#26100) (camc314)
Oxfmt v0.66.0
🚀 Features
- 1fb37b6 formatter/css: Format declaration-shaped raw-prelude rules (postcss nested config blocks) (#26194) (leaysgur)
🐛 Bug Fixes
- 9f81002 formatter: Re-add suppressed statement terminators per options.semi (#26220) (leaysgur)
- 769ffd5 formatter: Print suppressed typecast parens (#26218) (leaysgur)
- 5ff57f8 formatter/sort-imports: Handle custom side effect groups (#26217) (leaysgur)
- 2f4d759 formatter: Do not skip cast comment lookup (#26216) (leaysgur)
- 1213e12 formatter: Preserve comment for statement terminators and binary casts (#26213) (leaysgur)
- 57e8e22 formatter_css: Space a folded sign after a call in Less operations (#26134) (leaysgur)
- e4298fb formatter/jsdoc: Follow CommonMark for interrupting lists and guard wrapping from creating them (#26098) (leaysgur)
- a1e21c2 formatter: Apply head body policy everywhere (#26074) (leaysgur)
- 676b7e1 formatter: Keep comments in their for-head slot, before an empty-statement body and do-while (#26073) (leaysgur)
- 3bbcea6 formatter: Keep comments between a head and its body out of the braces across all constructs (#26071) (leaysgur)
- 57537a2 formatter: Place comments between a head and open paren (#26058) (leaysgur)
- e2d53e7 formatter: Place comments between a statement head and its body (#26043) (leaysgur)
- 662556c formatter: Print the idempotent placement for comments in dropped parens (#26041) (leaysgur)
- faf11d9 formatter_yaml: Keep trailing whitespace in block scalars (#26072) (leaysgur)
⚡ Performance
- ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)
📚 Documentation
- b879608 formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)
- 181953b oxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: Extract
DIVERGENCES.mdout fromAGENTS.md(#26121) (leaysgur) - a67cb9d formatter,formatter_core: Document comment moving policy (#26075) (leaysgur)
- fc175b0 formatter_core: Clarify idempotency test infra (#26069) (leaysgur)