Table of Contents
- Oxlint v1.60.0
- Oxfmt v0.45.0
Oxlint v1.60.0
π₯ BREAKING CHANGES
- 382958a span: [BREAKING] Remove re-exports of string types from
oxc_spancrate (#21246) (overlookmotel) - c4aedfa str: [BREAKING] Add
static_ident!macro (#21245) (overlookmotel) - 7354f3c linter: [BREAKING] Error on no matched files (#21144) (camc314)
π Features
- 94a32b9 linter/jest: Share common pattern expect functions (#21376) (Said Atrahouch)
- bab5c31 linter/jest: Implement
prefer-ending-with-an-expectrule (#21372) (Said Atrahouch) - 91f2c79 linter/eslint-jest-plugin: Implemented
prefer-importing-jest-globalsrule (#21303) (Said Atrahouch) - a02f32c linter: Add release version for existing rules (#21363) (camchenry)
- b9e93da linter: Allow tagging rules with release version (#21362) (camchenry)
- f99ecda oxlint: Gate
vite.config.tsrecognition behindVP_VERSIONenv var (#21298) (leaysgur) - cf459d3 linter: Implement suggestion for
no-empty-functionrule (#21347) (Mikhail Baev) - 7213d61 linter: Adding pending suggestions fix to
valid_expectrules. (#21249) (Said Atrahouch) - ae45312 linter: Introduce
--type-check-onlyflag (#21184) (camc314) - 1ce8b90 linter: Implemented
valid-expect-in-promisevitest and jest rule (#21170) (Said Atrahouch) - 39f7fda linter: Add auto-fix to
unicorn/prefer-default-parameters(#21166) (yefan) - 15574bc linter/unicorn: Implement consistent-template-literal-escape (#21126) (AliceLanniste)
- c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (#21114) (camc314)
- 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (#21113) (camc314)
- 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (#21115) (camc314)
- c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (#21112) (camc314)
- 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (#21111) (camc314)
π Bug Fixes
- b577efc linter/unicorn: Handle optional chaining in
prefer-array-flatandno-invalid-remove-event-listener(#21299) (Mikhail Baev) - 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (#21316) (camc314)
- ec7f6ed oxlint, oxfmt: Apply
check_for_writer_errorto.flush()(#21343) (Craig Morrison) - a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (#21358) (camc314)
- a0eac12 linter/array-type: Move match to first stmt (#21357) (camc314)
- 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (#21313) (bab)
- ecbcf5e linter: More info to summary output for GitHub formatter (#21330) (ThΓ©o LUDWIG)
- a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (#21324) (Josh Cartmell)
- 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (#21259) (camc314)
- 3f80536 linter: Ignore regex flags other than
g/u/vinprefer-string-replace-all(#21203) (bab) - f21d3aa linter/unicorn: Report on optional in
require-number-to-fixed-digits-argumentrule (#21207) (Mikhail Baev) - af8e122 linter: Render each config error as a separate diagnostic (#21120) (bab)
- a950f55 linter/unicorn: Do not report on optionals in
no-single-promise-in-promise-methods(#21157) (Mikhail Baev) - 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (#21092) (copilot-swe-agent)
- edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (#21123) (bab)
- 7e8d520 linter/unicorn: Report on optional
foo?.postMessageinrequire-post-message-target-originrule (#21104) (Mikhail Baev)
β‘ Performance
- addcd02 napi/parser, linter/plugins: Raw transfer deserializer for
Vecs use shift instead of multiply where possible (#21142) (overlookmotel) - 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (#21141) (overlookmotel)
- eb400b8 napi/parser, linter/plugins: Remove
uint32buffer view (#21140) (overlookmotel) - 7a86613 linter/plugins: Use
Int32Arrays for tokens and comments buffers (#21136) (overlookmotel) - 8c51121 napi/parser, linter/plugins: Raw transfer deserialize
Spanfields asi32s (#21135) (overlookmotel) - bc1bcdd napi/parser, linter/plugins: Inline trivial raw transfer field deserializers into node object definitions (#21134) (overlookmotel)
- c0278ab napi/parser, linter/plugins: Use
Int32Arrayin raw transfer deserializer (#21132) (overlookmotel) - 43482c7 linter/plugins: Use
>>not>>>in binary search loops (#21129) (overlookmotel)
π Documentation
- 7888280 linter: Move config docs for
no-restricted-exports(#21360) (camchenry) - 162d26c linter: Improve docs for
typescript/array-type(#21356) (camchenry) - a2dbaec linter: Add missing docs for options for
typescript/class-literal-property-style(#21355) (camchenry) - 79593eb linter: Improve docs for
typescript/consistent-type-assertions(#21353) (camchenry) - f9d20d2 linter: Move config option docs for
typescript/no-empty-object-type(#21352) (camchenry) - a8f650d linter: Add missing config option docs for
prefer-string-start-ends-with(#21332) (camchenry) - cfd8a4f linter: Don't rely on old eslint doc for available globals (#21334) (Nicolas Le Cam)
- 03865fa linter: Jest/prefer-snapshot-hint: add doc comment for snapshot hint mode (#21290) (camchenry)
- a6fe09b linter: Add missing docs for config options in
reactplugin (#21289) (camchenry) - 60eaf47 linter: Add missing docs for config options in unicorn plugin (#21288) (camchenry)
- c3c2055 linter:
jsx-a11y/label-has-associated-control: document theassertoptions (#21287) (camchenry) - a928ed9 linter: Add missing config docs for vitest plugin rules (#21285) (camchenry)
- 7e07c7c linter:
id-length: move enum docs to doc comments (#21281) (camchenry) - 9746bdf linter: Add missing docs for
class-methods-use-thisconfig (#21278) (camchenry) - 6ffe7a5 linter: Move docs for
Targetvariant onto enum (#21277) (camchenry) - 305350d linter/plugins: Correct comments (#21130) (overlookmotel)
Oxfmt v0.45.0
π₯ BREAKING CHANGES
- 382958a span: [BREAKING] Remove re-exports of string types from
oxc_spancrate (#21246) (overlookmotel)
π Features
- e3081e1 oxfmt: Gate
vite.config.tsrecognition behindVP_VERSIONenv var (#21295) (leaysgur) - 5b0b573 oxfmt: Update prettier to 3.8.2 (#21294) (leaysgur)
- 0d67834 oxfmt: Show hint for all files are ignored case (#21154) (leaysgur)
π Bug Fixes
- 2871fc2 oxfmt: Non idempotent formatting on comments in TS (#20449) (Cat Chen)
- ec7f6ed oxlint, oxfmt: Apply
check_for_writer_errorto.flush()(#21343) (Craig Morrison) - 1a8c225 formatter: Preserve newline between self-closing JSX element and single-char text (#21149) (Justin Mecham)
- 407b725 oxfmt: Indent dangling comments in empty enum with block indent (#21163) (Leonabcd123)
- d13fd37 formatter: Remove extra outer parentheses on return with JSDoc type cast (#21109) (bab)
- 22babde oxfmt: Fix unicode char escaping (#21162) (leaysgur)
- 4da53e5 formatter: Preserve trailing comma in TSX arrow functions with default type params (#21151) (Justin Mecham)
- 94fe774 oxfmt: Handle paths with consecutive leading slashes (#21155) (leaysgur)
- 50c389b oxfmt: Support
.editorconfigquote_type(#20989) (leaysgur)
β‘ Performance
- 0ce619f formatter: Use
Allocator::alloc_concat_strs_arrayinstead ofStringBuilder::from_strs_array_in(#21339) (overlookmotel)