github oxc-project/oxc apps_v1.33.0
oxlint v1.33.0 & oxfmt v0.18.0

one day ago

Table of Contents

  • Oxlint v1.33.0
  • Oxfmt v0.18.0

Oxlint v1.33.0

🚀 Features

  • 5a95f62 linter: Implement eslint/no-sequences rule (#16872) (Tu Shaokun)
  • 99c0496 linter/approx-constant: Implement fixer (#16847) (camc314)
  • f5e752c linter/eslint-plugin-vitest: Add no-large-snapshot as vitest compatible jest rule (#16846) (Said Atrahouch)
  • 08bf389 linter/no-regex-spaces: Implement fixer (#16837) (camc314)
  • 652a2bf linter/eslint-plugin-vitest: Add prefer-to-contain as vitest compatible jest rule (#16836) (Said Atrahouch)
  • 55eb0dc linter: Implement eslint/no-loop-func rule (#16830) (Tu Shaokun)
  • 8bb67a6 eslint-plugin-jest: Add fix capabilities to prefer to contain rule (#16809) (Said Atrahouch)
  • 1bdaab1 linter/prefer-nullish-coalescing: Add rule (#16778) (camc314)
  • 057b75e linter: Implement eslint/accessor-pairs rule (#16820) (Tu Shaokun)
  • 1f42ad3 linter: Auto-fixer for extra cases in unicorn/prefer-query-selector (#16787) (Hamir Mahal)
  • 67bde85 linter: Implement no-promise-executor-return rule (#16779) (Tu Shaokun)
  • 3ffe342 linter: Implement eslint/no-implicit-coercion rule (#16735) (Tu Shaokun)
  • 725a5c0 linter: Implement disallows using this in an exported function rule (#15745) (Rintaro Itokawa)
  • fb4700a linter: Add react/jsx-props-no-spreading rule (#15769) (Mikhail Baev)
  • a1d9bbd linter/eslint-plugin-vitest: Reuse no-mocks-import jest linter rule (#16540) (Said Atrahouch)
  • e1b1bc3 linter: Add react/no-redundant-should-component-update rule (#16147) (Mikhail Baev)
  • 200d17b linter: Add unicorn/prefer-keyboard-event-key rule (#16611) (Rintaro Itokawa)
  • a082040 editor: Adjust oxlint oxfmt config file editor supporting (#16616) (Liang Mi)
  • 2b73b14 linter/plugins: Support parserOptions.ecmaFeatures.jsx option in RuleTester (#16690) (overlookmotel)
  • 563eab7 linter/plugins: Add parserOptions.lang option to RuleTester (#16688) (overlookmotel)
  • e39f487 linter/plugins: Add ignoreNonFatalErrors option to RuleTester (#16672) (overlookmotel)
  • 4cf1353 linter/plugins: RuleTester support languageOptions.sourceType (#16660) (overlookmotel)
  • 8550c0f linter: Add unicorn/prefer-default-parameters rule (#16620) (Rintaro Itokawa)
  • 8c8b6d9 linter/plugins: Add languageOptions types to RuleTester config types (#16642) (overlookmotel)
  • 554250e linter/plugins: RuleTester parser support options (#16641) (overlookmotel)
  • 30a9076 ast, parser, codegen: Add CommentKind::MultilineBlock (#16479) (Dunqing)
  • 767db50 linter: Promote constructor_super rule from nursery to correctness (#16605) (camc314)
  • 7c7219e linter: Promote no_map_spread rule from nursery to perf (#16604) (camc314)

🐛 Bug Fixes

  • bb86e0e linter: Fix empty-tags rule logic. (#16873) (connorshea)
  • a998ceb linter/unicorn/prefer-dom-node-dataset: Ignore awaited getAttribute call (#16882) (Kei Sakamoto)
  • eccffcf linter/plugins: report() accept loc with no end (#16859) (overlookmotel)
  • d402242 linter: Fix the config option docs for array-callback-return rule. (#16854) (connorshea)
  • d3208dc parser: Parse let?.x (#16840) (Copilot)
  • b16fe64 linter: Fix incorrect allowNames config option name in typescript/no-this-alias rule. (#16852) (connorshea)
  • 3302fcb linter/plugins: Sort visitors in order of specificity (#16834) (overlookmotel)
  • 50e0a23 linter: Rewrite constructor-super to use iterative dataflow analysis (#16706) (camc314)
  • cb51c74 linter: Mark consistent-type-definitions fix as dangerous inside declare global blocks (#16745) (camc314)
  • 36c9097 linter/plugins: RuleTester sort diagnostics before comparing to errors (#16741) (overlookmotel)
  • 32e23f7 linter/plugins: Correct punctuation in error message (#16718) (overlookmotel)
  • 6832464 linter/plugins: Do not escape tab or CR in test case names in RuleTester (#16712) (overlookmotel)
  • 3895d66 linter/no-invalid-fetch-options: False positive with member expression as method (#16687) (Copilot)
  • 0003958 linter: Jsx-a11y/iframe-has-title recognizes member expressions (#16669) (copilot-swe-agent)
  • 6cddbe7 linter/prefer-at: Wrap expressions in parentheses when needed for member access (#16643) (camc314)
  • 678e43b linter/unicorn: Fix ASI hazard in prefer-spread rule fixer (#16440) (camc314)

⚡ Performance

  • 9c1be35 linter/approx-constant: Break after first match to avoid extra iterations (#16848) (camc314)
  • 6b1a7b5 linter/plugins: Store specificity in a single integer (#16835) (overlookmotel)
  • 3b7d345 linter/plugins: Use start and end instead of range in tokens methods (#16808) (overlookmotel)
  • 4f9d17f linter/plugins: Remove unnecessary check (#16750) (overlookmotel)
  • a5dc4c6 oxlint: Run e2e tests concurrently (#16651) (camc314)
  • 5eb8b14 lsp: Avoid one clone in code actions request (#16543) (Sysix)
  • 0241b9a linter/plugins: Remove code for renaming global values (#16610) (overlookmotel)

📚 Documentation

  • 4542e75 linter: Fix typo and add vitest compatibility note to prefer_to_contain rule documentation (#16838) (copilot-swe-agent)
  • e8369ef linter: Improve docs for react/jsx-no-script-url rule. (#16817) (connorshea)
  • ba8fe68 linter: Update various rules to note that they can be disabled for TS code. (#16819) (connorshea)
  • bbafba5 linter: Improve the diagnostics for jest/no-confusing-set-timeout rule. (#16815) (connorshea)
  • 2195150 linter: Update docs for no-optional-chaining rule to clarify its safety today (#16727) (connorshea)
  • a2c9d16 linter: Improve eslint/no-loss-of-precision docs. (#16730) (connorshea)
  • 0740016 linter: Add docs for RuleCommentRule (#15699) (camc314)
  • 271e1ff linter: Add docs for DisabledRule (#15698) (camc314)
  • 32b641a linter/plugins: Fix typo in JSDoc comment (#16699) (overlookmotel)
  • 397bcd5 linter: Added in the missing jest rules that are compatible with vitest. (#16679) (Said Atrahouch)
  • dc793ad linter: Update no-unsafe-type-assertion to reflect correct rule behavior (#16646) (camc314)

Oxfmt v0.18.0

🚀 Features

  • 5e3ceb8 oxfmt: Support oxfmt --stdin-filepath (#16868) (leaysgur)
  • d4c0bb7 oxfmt: Support oxfmt --migrate prettier (JS side) (#16773) (leaysgur)
  • 2b9c3fe oxfmt: Support oxfmt --migrate [prettier] (Rust side) (#16771) (leaysgur)
  • 47c8710 oxfmt: Arrange cli mode and update help (#16728) (leaysgur)
  • afd6c44 oxfmt: Support quoteProps: consistent in Oxfmtrc (#16721) (leaysgur)
  • 559eff1 oxfmt: Support oxfmt --init (#16720) (leaysgur)
  • 686f2b7 formatter: Support consistent quote props (#16677) (Dunqing)
  • 28e0682 oxfmt: Enable experimental package.json sorting by default (#16593) (leaysgur)
  • feffe48 oxfmt: Trace which files are being formatted via OXC_LOG=debug (#16627) (Boshen)
  • 30a9076 ast, parser, codegen: Add CommentKind::MultilineBlock (#16479) (Dunqing)

🐛 Bug Fixes

  • a0efc41 formatter: Incorrect formatting for member chain call with an empty arguments call argument (#16875) (Dunqing)
  • bc2e0f8 oxfmt: Report exitCode correctly (#16770) (leaysgur)
  • d719988 oxfmt: Make Rust CLI as just formatting CLI (#16768) (leaysgur)
  • 2577814 oxfmt: Remove jsonc parser override for (j|t)sconfig(.*)?.json (#16762) (leaysgur)
  • e973965 formatter: Incorrect indentation of long assignment pattern in object (#16709) (Dunqing)
  • 2a63d74 formatter: Should not insert a semicolon for non-property signatures when no semicolon is set (#16700) (Dunqing)
  • 2495a39 formatter/sort-imports: Do not move leading comment if empty line found (#16676) (leaysgur)
  • 02f59ba oxfmt: Always respect ignored files even specified (#16632) (leaysgur)
  • 37c1a06 oxfmt: Exclude lock files to be formatted (#16629) (leaysgur)
  • 0d5da26 formatter: Disable layout assertions on some 32-bit platforms (#16625) (Dunqing)

⚡ Performance

  • c7db70b formatter: Optimize formatting of JSX element/fragment with a single child (#16631) (Dunqing)
  • 4843475 formatter: Do not write elements to the flat buffer if the layout is multline (#16630) (Dunqing)
  • 10b4f9f oxfmt: Make time measurement conditional (#16634) (Boshen)
  • 6f3aaba oxfmt: Use worker_threads by tinypool for prettier formatting (#16618) (leaysgur)

📚 Documentation

  • 8babdf9 oxfmt: Improve docs for .oxfmtrc.jsonc config fields and add markdownDescription fields to JSON Schema (#16587) (connorshea)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.