Skip to content

Releases: oxc-project/oxc

oxlint v0.15.9

01 Feb 14:19
0063318
Compare
Choose a tag to compare

[0.15.9] - 2025-02-01

Features

  • 1a41181 linter: Implement eslint/prefer-object-spread (#8216) (tbashiyy)
  • adb8ebd linter: Implement no-useless-call rule (#8789) (keita hino)
  • 3790933 linter: Add vitest/prefer-lowercase-title rule (#8152) (Tyler Earls)
  • e8e6917 linter: Unicorn/switch-cases-braces support options (#8704) (1zumii)

Bug Fixes

  • 8ce21d1 linter: Can't disable no-nested-ternary rule anymore (#8600) (dalaoshu)
  • e929f26 linter: Output LintCommandInfo for CliRunResult::LintNoFilesFound (#8714) (Sysix)
  • 4f30a17 linter: Unicorn/switch-case-braces mangles code when applying fix (#8758) (Tyler Earls)
  • 9cc9d5f linter: ignorePatterns does not work when files are provided as command arguments (#8590) (dalaoshu)
  • 1de6f85 linter: No-lone-blocks erroring on block statements containing comments (#8720) (Tyler Earls)
  • 77ef61a linter: Fix diagnostic spans for oxc/no-async-await (#8721) (camchenry)
  • f15bdce linter: Catch Promise in typescript/array-type rule (#8702) (Rintaro Itokawa)
  • 5041cb3 vscode: Fix commands by reverting commit 259a47b (#8819) (Alexander S.)

Performance

  • d318238 linter: Remove sorting of rules in cache (#8718) (camchenry)

Documentation

  • 57b7ca8 ast: Add documentation for all remaining JS AST methods (#8820) (Cam McHenry)

Refactor

  • c2fdfc4 linter: Correctly handle loose options for eslint/eqeqeq (#8798) (dalaoshu)
  • 0aeaedd linter: Support loose options for eslint/eqeqeq (#8790) (dalaoshu)
  • 194a5ff linter: Remove LintResult (#8712) (Sysix)
  • 4a2f2a9 linter: Move default all_rules output to trait (#8710) (Sysix)
  • 741fb40 linter: Move stdout outside LintRunner (#8694) (Sysix)
  • 10e5920 linter: Move finishing default diagnostic message to GraphicalReporter (#8683) (Sysix)
  • 9731c56 oxlint: Move output from CliRunResult::InvalidOption to outside and use more Enums for different invalid options (#8778) (Sysix)
  • fe45bee oxlint: Create different CliRunResult instead of passing ExitCode to it (#8777) (Sysix)
  • 2378fef oxlint: Move ConfigFileInit output outside CliRunResult, exit code 1 when it fails (#8776) (Sysix)
  • f4cecb5 oxlint: Remove unused CliRunResult::PathNotFound (#8775) (Sysix)

Testing

  • ad35e82 linter: Use snapshot testing instead of LintResult (#8711) (Sysix)
  • bf895eb linter: Add diagnostic format test snapshots (#8696) (Alexander S.)
  • 34d3d72 linter: Add snapshot tester for cli (#8695) (Sysix)
  • 0bf2bcf oxlint: Test two real rules with same name but from different plugins (#8821) (dalaoshu)
  • 2b83b71 oxlint: Improve disabling "no-nested-ternary" tests (#8814) (Alexander S.)
  • 45648e7 oxlint: Fix InvalidOptionTsConfig tests for windows (#8791) (Alexander S.)
  • 48bfed9 oxlint: Ignore windows path mismatch (Boshen)
  • 6f4a023 oxlint: Remove "--print-config" test (#8792) (Sysix)
  • 55c2025 oxlint: Add CliRunResult to snapshot (#8780) (Sysix)

oxlint v0.15.8

24 Jan 10:22
b977678
Compare
Choose a tag to compare

[0.15.8] - 2025-01-24

Features

  • 79ba9b5 linter: Added support to run in Node.JS legacy versions (#8648) (Luiz Felipe Weber)
  • dcaebe6 linter: Add "strict" option to promise/prefer-await-to-then rule (#8674) (Neil Fisher)
  • 4ae568e linter: Add DiagnosticResult to the Reporters for receiving a sub part result (#8666) (Alexander S.)
  • 8a0eb2a oxlint: Add stylish formatter (#8607) (Andrew Powell)

Bug Fixes

  • 40316af linter: Fix github endColumn output (#8647) (Alexander S.)
  • dc912fa linter: Added missing $schema property to default config (#8625) (Tapan Prakash)

Refactor

  • a3dc4c3 crates: Clean up snapshot files (#8680) (Boshen)
  • e66da9f isolated_declarations, linter, minifier, prettier, semantic, transformer: Remove unnecessary ref / ref mut syntax (#8643) (overlookmotel)
  • 23b49a6 linter: Use cow_to_ascii_lowercase instead cow_to_lowercase (#8678) (Boshen)
  • b8d9a51 span: Deal only in owned Atoms (#8641) (overlookmotel)
  • ac4f98e span: Derive Copy on Atom (#8596) (branchseer)
  • 259a47b vscode: Move commands and findBinary to separate files (#8605) (Alexander S.)

oxlint v0.15.7

19 Jan 01:16
66c8720
Compare
Choose a tag to compare

[0.15.7] - 2025-01-19

Features

  • 01ac773 linter: Support ignoreTypeOfTestName for jest/valid-title (#8589) (dalaoshu)
  • 538b24a linter: Format the configuration documentation correctly (#8583) (Tapan Prakash)
  • 7ab14cc linter: Add more Vitest compatible Jest rules (#8445) (Anson Heung)
  • d178360 linter: Implement eslint/prefer-promise-reject-errors (#8254) (tbashiyy)
  • 4ac2e99 oxlint: Implement --init cli option (#8453) (Tapan Prakash)

Bug Fixes

  • 855c839 codegen: Shorthand assignment target identifier consider mangled names (#8536) (Boshen)
  • c15af02 linter: False positive in eslint/no-lone-blocks (#8587) (dalaoshu)
  • 41f2070 linter: Rule no-restricted-imports support missing options (#8076) (Alexander S.)
  • 869bc73 linter: Enhance default_param_last rule to handle optional parameters (#8563) (Tapan Prakash)
  • c6260c2 linter: Support rest params for prefer_promise_reject_errors (#8468) (Yuichiro Yamashita)
  • 2be1e82 linter/no-unused-vars: False positives when variable and type have same name (#8465) (Dunqing)

Performance

  • 250bbd1 linter/react-exhaustive-deps: Use stack of AstTypes instead of AstKinds (#8522) (overlookmotel)

Refactor

  • 40f5165 linter: Improve eslint/no-lone-blocks (#8588) (dalaoshu)
  • b4c87e2 linter: Move DiagnosticsReporters to oxlint (#8454) (Alexander S.)
  • bf00f82 linter: Move rule prefer-each from vitest to jest + remapping (#8448) (Alexander S.)
  • 8dd0013 linter/consistent-function-scoping: Remove Visit::enter_node usage (#8538) (overlookmotel)
  • 30c0689 linter/no-map-spread: Remove Visit::enter_node usage (#8537) (overlookmotel)
  • b5ed58e span: All methods take owned Span (#8297) (overlookmotel)

Styling

  • 3789d2f linter/react-exhaustive-deps: Fix indentation (#8520) (overlookmotel)

oxlint v0.15.6

13 Jan 03:24
424c770
Compare
Choose a tag to compare

[0.15.6] - 2025-01-13

Features

  • 457aa31 linter: Implement no-lone-blocks rule (#8145) (Yuichiro Yamashita)

Refactor

  • aea9551 ast: Simplify get_identifier_reference of TSType and TSTypeName (#8273) (Dunqing)
  • 43ed3e1 linter: Add output formatter (#8436) (Alexander S.)
  • 4e05e66 linter: Remove glob for windows (#8390) (Alexander S.)
  • b19d809 linter: Split unicorn/prefer-spread and eslint/prefer-spread into own rules (#8329) (Alexander S.)
  • 3c534ae linter: Refactor LintBuilder to prep for nested configs (#8034) (camc314)
  • 2f9fab9 linter: Remove remapping for plugin name in diagnostics (#8223) (Alexander S.)

Testing

  • b6c1546 linter: Use plugin name instead of category for finding rule (#8353) (Alexander S.)

oxlint v0.15.5

02 Jan 11:09
d2d90b0
Compare
Choose a tag to compare

[0.15.5] - 2025-01-02

Features

  • 0e168b8 linter: Catch more cases in const-comparisons (#8215) (Cameron)
  • bde44a3 linter: Add statement_span to ModuleRecord/ImportEntry (#8195) (Alexander S.)
  • ccaa9f7 linter: Implement eslint/new-cap (#8146) (Alexander S.)

Bug Fixes

  • 2b14a6f linter: Fix ignorePattern config for windows (#8214) (Alexander S.)

Testing

  • cb709c9 linter: Fix some oxlint tests on windows (#8204) (Cameron)

oxlint v0.15.4

30 Dec 08:02
936623e
Compare
Choose a tag to compare

[0.15.4] - 2024-12-30

  • ed75e42 semantic: [BREAKING] Make SymbolTable fields pub(crate) instead of pub (#7999) (Boshen)

Features

  • 47cea9a linter: Implement eslint/no-extra-label (#8181) (Anson Heung)
  • ef76e28 linter: Implement eslint/no-multi-assign (#8158) (Anson Heung)
  • 384858b linter: Implement jsx-a11y/no-noninteractive-tabindex (#8167) (Tyler Earls)
  • afc21a6 linter: Implement eslint/vars-on-top (#8157) (Yuichiro Yamashita)
  • 65796c4 linter: Implement eslint/prefer-rest-params (#8155) (Yuichiro Yamashita)
  • 5234d96 linter: Implement eslint/no-nested-ternary (#8150) (Yuichiro Yamashita)
  • 1c5db72 linter: Implement eslint/no-labels (#8131) (Anson Heung)
  • 0b04288 linter: Move import/named to nursery (#8068) (Boshen)

Bug Fixes

  • 0794bee editor/vscode: Set minimum supported ver. to ^1.93.0 (#8182) (Pavel Smirnov)
  • f3050d4 linter: Exclude svelte files from no_unused_vars rule (#8170) (Yuichiro Yamashita)
  • faf7464 linter: Disable rule react/rules-of-hook by file extension (#8168) (Alexander S.)
  • 1171e00 linter: Disable react/rules-of-hooks for vue and svelte files (#8165) (Alexander S.)
  • 1b9a5ba linter: False positiver in private member expr in oxc/const-comparison (#8164) (camc314)
  • 6bd9ddb linter: False positive in typescript/ban-tslint-comment (#8094) (dalaoshu)
  • 10a1fd5 linter: Rule: no-restricted-imports support option patterns with group key (#8050) (Alexander S.)
  • b3f38ae linter: Rule no-restricted-imports: support option allowImportNames (#8002) (Alexander S.)
  • 340cc90 linter: Rule no-restricted-imports: fix option "importNames" (#7943) (Alexander S.)
  • ec2128e linter: Fix line calculation for eslint/max-lines in diagnostics (#7962) (Dmitry Zakharov)
  • 79af100 semantic: Reference flags not correctly resolved when after an export stmt (#8134) (camc314)

Performance

  • d8d2ec6 linter: Run rules which require typescript syntax only when source type is actually typescript (#8166) (Alexander S.)
  • 2736657 semantic: Allocate UnresolvedReferences in allocator (#8046) (Boshen)

Refactor

  • de8246b language_server: Move structs into own file (#8026) (Alexander S.)
  • 774babb linter: Read exported_bindings_from_star_export lazily (#8062) (Boshen)
  • 547c102 linter: Use RwLock<FxHashMap> instead of FxDashMap for module record data (#8061) (Boshen)
  • 952d7e4 linter: Rename flat.rs to config.rs (#8033) (camc314)
  • 50848ed linter: Simplify ConfigStore to prep for nested configs (#8032) (camc314)
  • b2a4a78 linter: Remove unused with_rules and set_rule methods (#8029) (camc314)
  • 6da0b21 oxlint: Remove unused git.rs (#7990) (Boshen)
  • 58e7777 oxlint: Remove extra if check in Walkdir (#7989) (Boshen)
  • 02f968d semantic: Change Bindings to a plain FxHashMap (#8019) (Boshen)

oxlint v0.15.3

17 Dec 04:40
fc53804
Compare
Choose a tag to compare

[0.15.3] - 2024-12-17

Features

  • 25ddb35 linter: Add the import/no_named_default rule (#7902) (Guillaume Piedigrossi)
  • ee26b44 linter: Enhance get_element_type to resolve more element types (#7885) (dalaoshu)

Bug Fixes

  • 6f41d92 linter: False positive in unicorn/no-useless-spread (#7940) (dalaoshu)
  • 0867b40 linter: Fix configuration parser for no-restricted-imports (#7921) (Alexander S.)
  • 9c9b73d linter: Fix incorrect fixer for prefer-regexp-test (#7898) (Cameron)
  • 32935e6 linter: False positive in jsx-a11y/label-has-associated-control (#7881) (dalaoshu)
  • 14c51ff semantic: Remove inherting ScopeFlags::Modifier from parent scope (#7932) (Dunqing)

Refactor

  • 3858221 global: Sort imports (#7883) (overlookmotel)
  • b99ee37 linter: Move rule "no-restricted-imports" to nursery (#7897) (Alexander S.)
  • ff2a68f linter/yoda: Simplify code (#7941) (overlookmotel)

Styling

oxlint v0.15.2

14 Dec 05:53
b40c410
Compare
Choose a tag to compare

[0.15.2] - 2024-12-14

Fix the previous broken release caused by softprops/action-gh-release#555

oxlint v0.15.1

13 Dec 13:43
bb4a92c
Compare
Choose a tag to compare

[0.15.1] - 2024-12-13

Features

  • 38b1c2e editor: Create a command to apply all auto-fixes for the current active text editor (#7672) (Nicholas Rayburn)

Bug Fixes

  • 2b187e5 linter: Fix configuration casing for typescript/no_this_alias (#7836) (Boshen)
  • 06e6d38 linter: Fix unicorn/prefer-query-selector to use the correct replacement for getElementsByClassName (#7796) (Nicholas Rayburn)
  • 7a83230 semantic: Missing reference when export default references a type alias binding (#7813) (Dunqing)

oxlint v0.15.0

10 Dec 17:13
bde753b
Compare
Choose a tag to compare

[0.15.0] - 2024-12-10

  • 39b9c5d linter: [BREAKING] Remove unmaintained security plugin (#7773) (Boshen)

Features

  • 065f7dc linter: Support expectTypeOf, assert and assertType in vitest/expect-expect (#7742) (Yuichiro Yamashita)
  • 3d5f0a1 linter/no_restricted_imports: Add the no_restricted_imports rules (#7629) (Guillaume Piedigrossi)

Bug Fixes

  • ad27b20 linter: Only resolve esm files for import plugin (#7720) (Boshen)
  • 5e6053f linter: False positive in eslint/yoda (#7719) (dalaoshu)

Refactor

Testing

  • 62f0a22 linter: Port react-jsx-uses-vars rules to no_unused_vars (#7731) (Tyler Earls)
  • 02f9903 linter: Add regression tests for import/namespace (#7723) (dalaoshu)