github oxc-project/oxc apps_v1.32.0
oxlint v1.32.0 & oxfmt v0.17.0

6 hours ago

Table of Contents

  • Oxlint v1.32.0
  • Oxfmt v0.17.0

Oxlint v1.32.0

🚀 Features

  • 5c62c16 linter/plugins: Allow JS plugins to access globals (#16512) (Arsh)
  • ba7bd51 linter: Implement no-useless-return rule (#16388) (FMP1783)
  • fa605df linter: Fix arrow-body-style automatically (#16252) (Hamir Mahal)
  • 7584938 linter/plugins: Add ESLint compat mode to RuleTester (#16538) (overlookmotel)
  • b38c2d0 linter/plugins: Add SourceCode#lineStartIndices getter (#16510) (overlookmotel)
  • ba93ffc linter/plugins: Add SourceCode#tokensAndComments getter (#16503) (overlookmotel)
  • d2ca540 linter/plugins: Add SourceCode#isESTree property (#16499) (overlookmotel)
  • 9001234 linter: Add fix support for tsgolint diagnostics (#16344) (camc314)
  • 2d6bb85 editors: Toggle client after vscode config changing (#16162) (Liang Mi)
  • 0ec454c linter/plugins: Merge default options into options (#16358) (overlookmotel)

🐛 Bug Fixes

  • a806d74 linter: Use import type for ESTree in visitor.d.ts (#16472) (camc314)
  • 8933c84 linter: Fix jest/expect-expect rule docs. (#16550) (connorshea)
  • 1c08879 linter: Fix false positive in no-invalid-fetch-options for conditional expressions (#16570) (camc314)
  • 1a69b06 linter: Junit support for multiple files/errors/diagnostics (#16568) (Shrey Sudhir)
  • a7d435b linter/sort-keys: Preserve multi-line formatting in autofix (#16563) (camc314)
  • fd84dcc linter/plugins: RuleTester parser catch fatal errors (#16558) (overlookmotel)
  • ab4deb0 linter/plugins: Improve safety of options merging (#16549) (overlookmotel)
  • a58c76a linter: Fix the react/jsx-fragments rule config to take a string argument (#16175) (connorshea)
  • f7751cc linter/plugins: Fix TS types for RuleTester (#16546) (overlookmotel)
  • 6d33320 linter/plugins: Prevent user modifying the default config (#16545) (overlookmotel)
  • b4483c5 linter/plugins: Add config support skeleton to RuleTester (#16537) (overlookmotel)
  • 3a49158 linter/plugins: Improve TS types for tokens (#16502) (overlookmotel)
  • 0c14531 oxlint/lsp: Revalidate all known files after internal restart (#16407) (Sysix)
  • 2d3217e linter/plugins: Remove panics from lint_file and setup_configs (#16453) (overlookmotel)
  • 655341b linter/oxc: Not emit error when the threshold is zero and we haven't detected a barrel file (#16455) (Said Atrahouch)
  • b9f359f linter/no-var: Expand fix span to prevent conflicts with other rules (#16445) (camc314)
  • c6778f3 linter: Preserve original quote style in no-hex-escape fixer (#16410) (camc314)
  • 3ad913b linter: Improve rule docs page autofix description (#16281) (Hamir Mahal)
  • 0b7e00c linter: Handle keyword unary expressions in yoda rule fix (#16402) (camc314)
  • 5fd3096 lsp: Skip (un)registering file watcher when not dynamic watchers are supported (#16406) (Sysix)
  • 804144f lsp: Respect null as invalid settings for workspace/didChangeConfiguration (#16361) (Sysix)
  • 723a7e5 linter: Prevent invalid BigInt literal fix for exponential notation (#16401) (camc314)
  • 2589fb1 linter: Fix prefer_expect_resolves fixer for member expressions (#16393) (camc314)
  • 428c7cd linter: Wrap logical expressions in parentheses when fixing no-extra-boolean-cast (#16363) (camc314)
  • 3903567 linter: Skip prefer-string-raw in type annotations and .d.ts files (#16382) (camc314)
  • d490daa linter/func-names: Use centralized reserved keyword check and fix ancestor traversal (#16362) (camc314)
  • d846c53 tsgolint: Use expect when sending diagnostics (#16341) (camc314)
  • 114665d lsp: Watch for files when workspace folder is added & workspace/configuration is not supported (#16307) (Sysix)
  • f5d0ebb linter/func-names: Avoid suggesting reserved keywords as function names (#16352) (camc314)
  • d268135 linter/no-console-spaces: Preserve escape sequences in fixer output (#16349) (camc314)
  • b02c21a linter/valid-title: Preserve escape sequences in fixer output (#16348) (camc314)
  • 2373b76 linter/no-untyped-mock-factory: Fix fixer producing invalid syntax when newline exists after opening paren (#16351) (camc314)

⚡ Performance

  • 67cfa58 lsp: Avoid some clones (#16519) (Sysix)
  • 2a09665 oxlint/lsp: Store only LinterCodeAction instead of the complete DiagnosticReport (#16516) (Sysix)
  • 0ca9754 lsp: Avoid Uri to String and back to Uri conversion (#16470) (Sysix)
  • 2736636 lsp: Avoid cloning when revalidating diagnostics (#16469) (Sysix)
  • 793b989 linter/plugins: Move result-processing work off main JS thread (#16456) (overlookmotel)
  • 44dff7b linter/plugins: Skip serialization overhead when no errors (#16443) (overlookmotel)
  • 1aa2409 linter/plugins: Do not remove messageId field from DiagnosticReport before sending to Rust (#16442) (overlookmotel)
  • 5017db8 linter/plugins: Reduce calls to Path::to_string_lossy (#16429) (overlookmotel)
  • 194e357 linter: Use SmallVec for rule options (#16400) (Copilot)
  • e31b2bd linter: Only clone config if required (#16350) (overlookmotel)
  • 3026086 linter: Avoid cloning rule options (#16338) (overlookmotel)

📚 Documentation

  • fef77af linter: Fix jsx-a11y/img-redundant-alt configuration option names. (#16552) (connorshea)
  • c0766df linter: Add config option docs for unicorn/filename-case rule. (#16280) (connorshea)
  • e24aabd linter/plugins: Correct comment (#16559) (overlookmotel)
  • 514c724 linter: Fix the name of the IIFEs config option in eslint/max-lines-per-function (#16554) (connorshea)
  • 4d94438 linter/rules: Correct arrow body style options in documentation (#16509) (GRK)
  • 6bac4ec linter: Pull configuration struct doc comment when rendering config docs (#16288) (connorshea)
  • 8c85e08 linter/plugins: Add TODO comment (#16511) (overlookmotel)
  • a9b9298 linter/plugins: Add JSDoc comments to SourceCode properties (#16497) (overlookmotel)
  • 467cc1a linter/plugins: Improve comment on error branch (#16464) (overlookmotel)
  • 041b119 linter: Add config option docs to jest/consistent-test-it rule. (#16286) (connorshea)

🛡️ Security

  • d90ef9f deps: Update dependency rolldown to v1.0.0-beta.53 (#16428) (renovate[bot])

Oxfmt v0.17.0

🚀 Features

  • 3184f17 oxfmt: Pass filepath field to prettier formatting (#16591) (Yuji Sugiura)
  • 7bb3304 oxfmt: Pass populated config to prettier formatting (#16584) (leaysgur)
  • 69f84d2 oxfmt: Pass raw config to prettier formatting (#16582) (leaysgur)
  • a83a2ec oxfmt: Expose setupConfig(configJSON: string) napi callback (#16579) (leaysgur)
  • 930533f formatter: Convert single \r to \n in string and add a debug assertion to ensure that there is no \r in the text (#16531) (Dunqing)
  • af76b0e oxfmt: Support formatting HTML, YAML, GraphQL, Handlebars, Markdown, CSS files (#16524) (leaysgur)
  • 66b64ef oxfmt: Support formatting JSON files (#16523) (leaysgur)
  • 4767926 oxfmt: Prepare non-js/ts file support with prettier (#16480) (leaysgur)
  • 2b4ce5d oxfmt: Use dedicated format_by_xxx_formatter method by SourceType (#16417) (leaysgur)
  • 0867d2f oxfmt: Set up JS formatFile() function for Rust via napi (#16415) (leaysgur)
  • b6feb66 oxfmt: Rename embedded.ts with preparing formatFile() function (#16414) (leaysgur)
  • 80e6999 formatter: Add debug assertion to ensure that there is no empty content is passed in (#16475) (Dunqing)
  • 7374856 formatter/sort-imports: Support options.internalPattern (#16372) (leaysgur)
  • dd2cb62 oxfmt: Not error on explicit --write flag used (#16376) (leaysgur)

🐛 Bug Fixes

  • 267fadc formatter: Should not remove quotes for property keys that contains KATAKANA MIDDLE DOT (#16594) (Dunqing)
  • 06d6b43 formatter: Incorrectly treating a member chain with the test name as a test call expression (#16592) (Dunqing)
  • 50f3959 formatter: Should not expand the object pattern if its parent is an AssignmentPattern (#16590) (Dunqing)
  • 40b0134 formatter: Incorrect formatting of useImperativeHandle hook (#16533) (Dunqing)
  • 75393e7 formatter: Incorrect handling of CRLF for multiline block comment (#16528) (Dunqing)
  • ee0756b formatter: JSX text wrapping incorrect 2 (#16320) (Dunqing)
  • 36308b8 formatter: Fix indent for new expression with type cast (#16380) (leaysgur)

⚡ Performance

  • 6f16a8f formatter: Avoid using an indent with a empty content (#16474) (Dunqing)
  • 201c98f formatter: Early return when no comments need to be printed (#16432) (Dunqing)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.