Table of Contents
- Oxlint v1.74.0
- Oxfmt v0.59.0
Oxlint v1.74.0
🚀 Features
- 0433a83 linter/eslint/no-inner-declarations: Add
namespacesoption (#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover
.mtsconfig files (#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofix logic (#24273) (Cole Ellison)
🐛 Bug Fixes
- ac7176d linter/import/no-duplicates: Avoid duplicate commas when merging imports (#24467) (camc314)
- 261aa39 linter/import/no-duplicates: Preserve type modifiers when merging imports (#24466) (camc314)
- dbd08b6 linter/unicorn/prefer-string-raw: Skip fix for
TSPropertySignaturekeys (#24465) (camc314) - df67932 linter: Skip suppression validation with
--type-check-only(#24462) (Stephen Zhou) - 0b086de linter/jest/prefer-lowercase-title: False positive when
lowercaseFirstCharacterOnlyis false (#24414) (Connor Shea) - 097cb95 linter: Allow
vite-plus/testand `@effect as Vitest source (#24196) (Liang) - 8337835 linter: Error on
ignorePatternsthat cannot match files aoutside the config directory (#24341) (leaysgur) - 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic (#24346) (camc314)
- 2ce5a33 linter: Resolve
ignorePatternsrelative to the config dir (#24339) (leaysgur) - ab90eed linter/eslint/no-loop-func: Do not error on catch variables (#24316) (Chris Opperwall)
- b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates as usage (#24323) (camc314)
- d193f8e linter: Detect Junie agent env vars (#24277) (Jeevan Mohan Pawar)
- 2aecf60 linter/eslint/no-unreachable: Handle
breakin switch stmts correctly (#24260) (camc314)
⚡ Performance
- 2efa2f9 linter/react/jsx-handler-names: Simplify JSX handler name normalization (#24458) (camc314)
- 9c4e24a linter/eslint/object-shorthand: Remove constructor regex (#24457) (camc314)
- 7f80cac linter/vue/prop-name-casing: Precompile
ignorePropsregex pattern (#24413) (connorshea) - 6272051 linter/typescript/no-require-imports: Compile allow patterns once (#24417) (connorshea)
- fb1edf1 linter: Compute comment fix span only for directive comments (#24419) (connorshea)
- 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (#24420) (connorshea)
- 8de6fca linter/jest/valid-title: Compile disallowedWords regex once (#24412) (Connor Shea)
- 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per identifier (#24371) (Ian Macalinao)
- f3ab04c linter/typescript/consistent-type-imports: Remove redundant Vec per violation (#24370) (Ian Macalinao)
- 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone per comment (#24369) (Ian Macalinao)
Oxfmt v0.59.0
🚀 Features
- 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (#24434) (leaysgur)
- 0173cd3 formatter_css: Format Less :extend and merge props (#24358) (leaysgur)
- 92f154a oxlint,oxfmt: Auto-discover
.mtsconfig files (#24357) (camc314) - df250df formatter: Support
quotePropsfor TS enum and methods (#24309) (leaysgur) - a9a5cd6 formatter_core: Expose
SourceText::as_str()(#24281) (leaysgur)
🐛 Bug Fixes
- 95262b9 formatter_css: Keep more value comments before comma (#24487) (leaysgur)
- cd53d98 formatter_css: Keep value comments before comma (#24484) (leaysgur)
- 27f57d8 formatter: Type alias comment idempotency (#24483) (leaysgur)
- b7b82e0 formatter: Suppressed trailing semi (#24482) (leaysgur)
- 162bddf formatter: Add required parens for conditional type in type parameter constraint (#24450) (leaysgur)
- 2d22a91 formatter: Determine type cast target from span instead of lexical scan (#24447) (leaysgur)
- 25306e9 formatter: Do not add extra parens with type cast comment (#24444) (leaysgur)
- bd6edfe formatter: Break arrow signature that exactly fills the line when cond body may hug (#24440) (leaysgur)
- a99ef41 formatter: Keep quotes on method signature named new (#24432) (leaysgur)
- fcc28df formatter_css: Keep glued-braket-value tight (#24352) (leaysgur)
- 8337835 linter: Error on
ignorePatternsthat cannot match files aoutside the config directory (#24341) (leaysgur) - b7c7e15 formatter: Add parens for import and private field in new callee chain (#24320) (leaysgur)
- 0c8f6e4 formatter: Update detect_code_removal for #24309 (#24314) (leaysgur)
- a85aad0 formatter: Fix member-chain and non-null parens (#24312) (leaysgur)
- 1c29c73 formatter: Preserve
TSNonNullExpressionin chain expression (#24311) (leaysgur) - 8933c0e formatter: Keep comment inside of empty
switchblock (#24308) (leaysgur) - ec26af2 formatter: Preserve blank lines between JSX attrs (#24290) (leaysgur)
- 70bd54d formatter: Keep arrow function body comment (#24287) (leaysgur)
- 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (#24286) (leaysgur)
- eeabc4a formatter_css: Bail on EOF-recovered parse errors (#24282) (leaysgur)
- 42ec8de formatter: Keep comments inside surviving parens and suppressed statement terminators (#24253) (leaysgur)
- 1343779 formatter: Keep comment inline for empty statements (#24249) (leaysgur)
- b996579 formatter: Print ; before trailing comments part 2 (#24246) (leaysgur)
- 4f86e8c formatter: Print
;before trailing comments (#24244) (leaysgur) - 01252e4 formatter: Add or remove parens for
letdeclaration (#24215) (leaysgur)
⚡ Performance
- eeb1913 formatter_core: Avoid per-call
Vecwork-stack in soft-line removal (#23775) (Marius Schulz) - a2f255b formatter: Use
SmallVecforMemberChaincollections (#23776) (Marius Schulz)