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

6 hours ago

Table of Contents

  • Oxlint v1.59.0
  • Oxfmt v0.44.0

Oxlint v1.59.0

๐Ÿ’ฅ BREAKING CHANGES

  • 22ce6af oxlint/lsp: [BREAKING] Show/fix safe suggestions by default (#19816) (Sysix)

๐Ÿš€ Features

  • 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (#20526) (bab)
  • 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (#20662) (Irfan - ุฆู‰ุฑูุงู†)
  • 1edb391 linter/eslint: Implement no-restricted-exports rule (#20592) (Nicolas Le Cam)
  • 0f12bcd linter/react: Implement hook-use-state rule (#20986) (Khaled Labeb)
  • 1513a9f oxlint/lsp: Show note field for lsp diagnostic (#20983) (Sysix)
  • 7fdf722 linter/unicorn: Implement no-useless-iterator-to-array rule (#20945) (Mikhail Baev)
  • 39c8f2c linter/jest: Implement padding-around-after-all-blocks (#21034) (Sapphire)
  • ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (#20960) (Said Atrahouch)
  • 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (#20934) (camc314)
  • 23db851 linter/consistent-return: Move rule from nursery to suspicious (#20920) (camc314)
  • 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (#20919) (camc314)
  • 1ca7b58 linter/dot-notation: Move rule from nursery to style (#20918) (camc314)
  • 73ba81a linter/consistent-type-exports: Move rule from nursery to style (#20917) (camc314)
  • b9199b1 linter/unicorn: Implement switch-case-break-position (#20872) (Mikhail Baev)
  • 3435ff8 linter: Implements prefer-snapshot-hint rule in Jest and Vitest (#20870) (Said Atrahouch)
  • 98510d2 linter: Implement react/prefer-function-component (#19652) (Connor Shea)
  • 871f9d9 linter: Implement no-useless-assignment (#15466) (Zhaoting Zhou)
  • 0f01fbd linter: Implement eslint/object-shorthand (#17688) (yue)

๐Ÿ› Bug Fixes

  • 8be4de7 linter/unicorn: Do not report on optionals in prefer-array-flat-map (#21082) (Mikhail Baev)
  • dd2df87 npm: Export package.json for oxlint and oxfmt (#20784) (kazuya kawaguchi)
  • 9bc77dd linter/no-unused-private-class-members: False positive with await expr (#21067) (camc314)
  • 60a57cd linter/const-comparisons: Detect equality contradictions (#21065) (camc314)
  • 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (#21012) (bab)
  • 6492953 linter/no-this-in-sfc: Only flag this used as member expression object (#20961) (bab)
  • 9446dcc oxlint/lsp: Skip node_modules in oxlint config walker (#21004) (copilot-swe-agent)
  • af89923 linter/no-namespace: Support glob pattern matching against basename (#21031) (bab)
  • 64a1a7e oxlint: Don't search for nested config outside base config (#21051) (Sysix)
  • 3b953bc linter/button-has-type: Ignore document.createElement calls (#21008) (Said Atrahouch)
  • 8c36070 linter/unicorn: Add support for Array.from() for prefer-set-size rule (#21016) (Mikhail Baev)
  • c1a48f0 linter: Detect vitest import from vite-plus/test (#20976) (Said Atrahouch)
  • 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (#19793) (Peter Wagenet)
  • ca79960 linter/no-array-index-key: Move span to key property (#20947) (camc314)
  • 2098274 linter: Add suggestion for jest/prefer-equality-matcher (#20925) (eryue0220)
  • 6eb77ec linter: Allow default-import barrels in import/named (#20757) (Bazyli Brzรณska)
  • 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (#20890) (Said Atrahouch)

โšก Performance

  • fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (#21025) (overlookmotel)
  • 3b7dec4 napi/parser, linter/plugins: Use utf8Slice for decoding UTF-8 strings (#21022) (overlookmotel)
  • 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (#21021) (overlookmotel)
  • 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (#21020) (overlookmotel)
  • c25ef02 napi/parser, linter/plugins: Simplify branch condition in deserializeStr (#21019) (overlookmotel)
  • 9f494c3 napi/parser, linter/plugins: Raw transfer use String.fromCharCode in string decoding (#21018) (overlookmotel)
  • 0503a78 napi/parser, linter/plugins: Faster deserialization of raw fields (#20923) (overlookmotel)
  • a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (#20834) (Joshua Tuddenham)

๐Ÿ“š Documentation

  • af72b80 oxlint: Fix typo for --tsconfig (#20889) (leaysgur)
  • 70c53b1 linter: Highlight that tsconfig is not respected in type aware linting (#20884) (camc314)

Oxfmt v0.44.0

๐Ÿš€ Features

  • 35cf6e8 oxfmt: Add node version hint for ts config import failures (#21046) (camc314)

๐Ÿ› Bug Fixes

  • dd2df87 npm: Export package.json for oxlint and oxfmt (#20784) (kazuya kawaguchi)
  • 9d45511 oxfmt: Propagate file write errors instead of panicking (#20997) (leaysgur)
  • 139ddd9 formatter: Handle leading comment after array elision (#20987) (leaysgur)
  • 4216380 oxfmt: Support .editorconfig tab_width fallback (#20988) (leaysgur)
  • d10df39 formatter: Resolve pending space in fits measurer before expanded-mode early exit (#20954) (Dunqing)
  • f9ef1bd formatter: Avoid breaking after => when arrow body has JSDoc type cast (#20857) (bab)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.