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-styleautomatically (#16252) (Hamir Mahal) - 7584938 linter/plugins: Add ESLint compat mode to
RuleTester(#16538) (overlookmotel) - b38c2d0 linter/plugins: Add
SourceCode#lineStartIndicesgetter (#16510) (overlookmotel) - ba93ffc linter/plugins: Add
SourceCode#tokensAndCommentsgetter (#16503) (overlookmotel) - d2ca540 linter/plugins: Add
SourceCode#isESTreeproperty (#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:
RuleTesterparser catch fatal errors (#16558) (overlookmotel) - ab4deb0 linter/plugins: Improve safety of options merging (#16549) (overlookmotel)
- a58c76a linter: Fix the
react/jsx-fragmentsrule 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_fileandsetup_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
nullas invalid settings forworkspace/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
expectwhen sending diagnostics (#16341) (camc314) - 114665d lsp: Watch for files when workspace folder is added &
workspace/configurationis 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
LinterCodeActioninstead of the completeDiagnosticReport(#16516) (Sysix) - 0ca9754 lsp: Avoid
UritoStringand back toUriconversion (#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
messageIdfield fromDiagnosticReportbefore sending to Rust (#16442) (overlookmotel) - 5017db8 linter/plugins: Reduce calls to
Path::to_string_lossy(#16429) (overlookmotel) - 194e357 linter: Use
SmallVecfor 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-altconfiguration option names. (#16552) (connorshea) - c0766df linter: Add config option docs for
unicorn/filename-caserule. (#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
SourceCodeproperties (#16497) (overlookmotel) - 467cc1a linter/plugins: Improve comment on error branch (#16464) (overlookmotel)
- 041b119 linter: Add config option docs to
jest/consistent-test-itrule. (#16286) (connorshea)
🛡️ Security
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
\rto\nin string and add a debug assertion to ensure that there is no\rin 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_formattermethod bySourceType(#16417) (leaysgur) - 0867d2f oxfmt: Set up JS
formatFile()function for Rust via napi (#16415) (leaysgur) - b6feb66 oxfmt: Rename
embedded.tswith preparingformatFile()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
--writeflag 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
useImperativeHandlehook (#16533) (Dunqing) - 75393e7 formatter: Incorrect handling of
CRLFfor 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)