github oxc-project/oxc apps_v1.74.0
oxlint v1.74.0 & oxfmt v0.59.0

7 hours ago

Table of Contents

  • Oxlint v1.74.0
  • Oxfmt v0.59.0

Oxlint v1.74.0

🚀 Features

  • 0433a83 linter/eslint/no-inner-declarations: Add namespaces option (#24044) (Boshen)
  • 92f154a oxlint,oxfmt: Auto-discover .mts config 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 TSPropertySignature keys (#24465) (camc314)
  • df67932 linter: Skip suppression validation with --type-check-only (#24462) (Stephen Zhou)
  • 0b086de linter/jest/prefer-lowercase-title: False positive when lowercaseFirstCharacterOnly is false (#24414) (Connor Shea)
  • 097cb95 linter: Allow vite-plus/test and `@effect as Vitest source (#24196) (Liang)
  • 8337835 linter: Error on ignorePatterns that 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 ignorePatterns relative 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 break in 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 ignoreProps regex 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 .mts config files (#24357) (camc314)
  • df250df formatter: Support quoteProps for 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 ignorePatterns that 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 TSNonNullExpression in chain expression (#24311) (leaysgur)
  • 8933c0e formatter: Keep comment inside of empty switch block (#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 let declaration (#24215) (leaysgur)

⚡ Performance

  • eeb1913 formatter_core: Avoid per-call Vec work-stack in soft-line removal (#23775) (Marius Schulz)
  • a2f255b formatter: Use SmallVec for MemberChain collections (#23776) (Marius Schulz)

📚 Documentation

  • 3b7fb91 formatter_css: Update AGENTS.md and examples (#24488) (leaysgur)
  • b52d0f5 formatter: Add TODO comment about unsound code (#24372) (overlookmotel)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.