github oxc-project/oxc apps_v1.40.0
oxlint v1.40.0 & oxfmt v0.25.0

latest releases: apps_v1.41.0, oxlint_v1.41.0, oxfmt_v0.26.0...
8 hours ago

Table of Contents

  • Oxlint v1.40.0
  • Oxfmt v0.25.0

Oxlint v1.40.0

šŸ’„ BREAKING CHANGES

  • ba9c750 span: [BREAKING] Use ModuleKind::CommonJS for .cjs and .cts file extensions (#18117) (Boshen)
  • 3a0a190 linter/plugins: [BREAKING] Prevent access to cwd in createOnce (#18081) (overlookmotel)
  • 9135b0b ast: [BREAKING] Move scope from TSEnumDeclaration to TSEnumBody (#18058) (Boshen)

šŸš€ Features

  • 7c86fc3 linter/plugins: Support commonjs source type in RuleTester (#18198) (overlookmotel)
  • 6e8fa80 napi/parser, napi/transform: Accept sourceType: "commonjs" (#18197) (overlookmotel)
  • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
  • 08dad63 span: Add sourceType: 'commonjs' support (#18089) (Boshen)
  • b516088 linter: Implement rule option validation/error handling for jest/no-hooks and eslint/no-return-assign rules. (#17600) (connorshea)
  • 883f472 vscode: Change icon source (#17998) (Alexander Lichter)
  • e7631dd website: Update website generation flow for JSON rules output (#17973) (connorshea)
  • 1757251 linter: Update linter JSON rule output to include extra information. (#15763) (connorshea)
  • 1f3cdcd linter/no-useless-rename: Add automatic fix (#17951) (camchenry)
  • fe1444c linter/no-unused-vars: Improve fixer for unused imports (#17941) (camc314)
  • 251f301 linter/fixer: Expose find_next_token_within in fixer (#17942) (camc314)
  • f04aa60 linter/fixer: Expose find_next_token_from in fixer (#17940) (camc314)

šŸ› Bug Fixes

  • 4d68448 linter/plugins: report accept out of range column indexes in loc (#18199) (overlookmotel)
  • a0b3721 linter: Move typescript/prefer-optional-chain to nursery for now. (#18147) (connorshea)
  • 8a2dabc linter/plugins: Rule tester default to module source type in ESLint compat mode (#18195) (overlookmotel)
  • a7e2eb2 vscode: Resolve binary paths with node resolver (#17970) (Sysix)
  • 5f98e1a linter: Update react/jsx-max-depth to raise an error if provided invalid config options. (#18105) (connorshea)
  • c7e7008 linter: Raise errors for invalid config on eslint/prefer-promise-reject-errors rule (#18103) (connorshea)
  • 618c629 linter/rules-of-hooks: Detect hook calls inside JSX render props (#17980) (LeeKangbok)
  • 121a239 linter: Sort paths by length instead of alphabetically for depth heuristic (#18084) (Boshen)
  • 6956543 linter: Fix LSP panic from stale directive spans (#18082) (Boshen)
  • 2aae4fc linter: Fix stack overflow in no-unreachable rule on large files (#18077) (Boshen)
  • 7a0ca99 linter/plugins: Use correct ScriptKind for tokens (#17185) (Peter Wagenet)
  • 2a397f8 oxlint/lsp: Don't send workspace/diagnostic/refresh notification on watched file changes (#17885) (Sysix)
  • 8deef41 linter/prefer-destructuring: Fix rule to exclude using and await using (#17952) (camchenry)
  • dbe06d8 linter/no-promise-executor-return: Check if Promise is the global one (#17949) (camchenry)
  • ad02e03 linter/no-await-in-loop: Add support for await using (#17947) (camchenry)
  • 63e2737 linter/no-import-node-test: Mark fixer as suggestion (#17925) (camc314)

šŸ“š Documentation

  • 4afa5c8 linter: Cleanup docs for various rules for consistency. (#18214) (connorshea)
  • c1c152b linter: Fix formatting for empty-brace-spaces rule example. (#18203) (connorshea)
  • 7028745 linter: Fix formatting of JSON examples in filename-case rule docs. (#18202) (connorshea)
  • 926b7be linter: Fix a mistake in the documentation for prefer-ts-expect-error (#18201) (connorshea)
  • d51cb6c linter/plugins: Remove outdated comments (#18194) (overlookmotel)
  • 85a846c linter: Prefer enum docs over struct field docs for no-unused-vars (#18123) (Boshen)
  • d8f5c66 vcode: Add example for editor.formatOnSave with editor.formatOnSaveMode (#18126) (Sysix)
  • 5346fc9 editor: Update the README for the vscode extension to clarify experimental setting (#18048) (Connor Shea)
  • c2173a7 linter: Minor typo fix for nextjs rules. (#18018) (connorshea)
  • 132cc48 linter: Improve prefer-spread docs. (#17976) (connorshea)

Oxfmt v0.25.0

šŸš€ Features

  • a95b9bb oxfmt: Support oxfmtrc overrides config (#18068) (leaysgur)
  • 984d5c1 oxfmt/sort-imports: Support options.customGroups (#17576) (nilptr)
  • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
  • fd2c792 formatter: Support css prop, styled jsx, and member/computed styled.tags (#17990) (magic-akari)
  • 361a8f1 oxfmt: Upgrade prettier to 3.8.0 (#18024) (Dunqing)
  • 873c683 oxfmt: Add more tracing logs (#18015) (Yuji Sugiura)
  • cc3e74b oxfmt: Add Prettier specific fields in Oxfmtrc (#17981) (leaysgur)
  • 6ffe315 oxfmt: Add more Oxfmtrc fields description (#17979) (leaysgur)
  • c4c55cc formatter: Add oxfmt-ignore ignore comment support (#17916) (Dunqing)

šŸ› Bug Fixes

  • 73fedb9 oxfmt: Apply .editorconfig root section with oxfmtrc.overrides (#18210) (leaysgur)
  • 3e141f0 formatter: Normalize ChainExpression with TSNonNullExpression to match Prettier (#18061) (Boshen)
  • 9b902b6 formatter: Use soft indent for empty objects in JSX spread attributes (#18063) (Boshen)
  • 8da749b formatter: Allow parameters to break in angular test wrappers (#18060) (Boshen)
  • 125962d formatter: Fix 4 prettier conformance tests (#18057) (Boshen)
  • 2a397f8 oxlint/lsp: Don't send workspace/diagnostic/refresh notification on watched file changes (#17885) (Sysix)
  • efacb13 oxfmt: Do not wrap with block_indent() if format_embedded fails (#17975) (leaysgur)
  • bbadb8e oxfmt/sort-imports: Hard line inside multiline import leads to i… (#17880) (nilptr)
  • 9d0f551 oxfmt: Do not panic with subdirectry and config (#17955) (leaysgur)
  • 9d96cc6 oxfmt: Use std(out/err)._handle.setBlocking(true) to handle WouldBlock error in Rust (#17950) (leaysgur)

⚔ Performance

  • 138637c formatter: Use VecDeque for member chain groups (#18094) (Boshen)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.