oxlint

VoidZero Inc. & Contributors · oxc-project.oxlint

oxlint is a blazing-fast JavaScript and TypeScript linter that is 50–100× faster than ESLint. It is designed to catch erroneous or useless code without requiring any configurations by default.

winget install --id oxc-project.oxlint --exact --source winget

Latest 1.59.0

Release Notes

Table of Contents

  • Oxlint v1.59.0
  • Oxfmt v0.44.0

Oxlint v1.59.0

💥 BREAKING CHANGES

  • 22ce6af oxlint/lsp: [BREAKING] Show/fix safe suggestions by default (#19816) (Sysix)

🚀 Features

  • 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (#20526) (bab)
  • 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (#20662) (Irfan - ئىرفان)
  • 1edb391 linter/eslint: Implement no-restricted-exports rule (#20592) (Nicolas Le Cam)
  • 0f12bcd linter/react: Implement hook-use-state rule (#20986) (Khaled Labeb)
  • 1513a9f oxlint/lsp: Show note field for lsp diagnostic (#20983) (Sysix)
  • 7fdf722 linter/unicorn: Implement no-useless-iterator-to-array rule (#20945) (Mikhail Baev)
  • 39c8f2c linter/jest: Implement padding-around-after-all-blocks (#21034) (Sapphire)
  • ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (#20960) (Said Atrahouch)
  • 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (#20934) (camc314)
  • 23db851 linter/consistent-return: Move rule from nursery to suspicious (#20920) (camc314)
  • 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (#20919) (camc314)
  • 1ca7b58 linter/dot-notation: Move rule from nursery to style (#20918) (camc314)
  • 73ba81a linter/consistent-type-exports: Move rule from nursery to style (#20917) (camc314)
  • b9199b1 linter/unicorn: Implement switch-case-break-position (#20872) (Mikhail Baev)
  • 3435ff8 linter: Implements prefer-snapshot-hint rule in Jest and Vitest (#20870) (Said Atrahouch)
  • 98510d2 linter: Implement react/prefer-function-component (#19652) (Connor Shea)
  • 871f9d9 linter: Implement no-useless-assignment (#15466) (Zhaoting Zhou)
  • 0f01fbd linter: Implement eslint/object-shorthand (#17688) (yue)

🐛 Bug Fixes

  • 8be4de7 linter/unicorn: Do not report on optionals in prefer-array-flat-map (#21082) (Mikhail Baev)
  • dd2df87 npm: Export package.json for oxlint and oxfmt (#20784) (kazuya kawaguchi)
  • 9bc77dd linter/no-unused-private-class-members: False positive with await expr (#21067) (camc314)
  • 60a57cd linter/const-comparisons: Detect equality contradictions (#21065) (camc314)
  • 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (#21012) (bab)
  • 6492953 linter/no-this-in-sfc: Only flag this used as member expression object (#20961) (bab)
  • 9446dcc oxlint/lsp: Skip node_modules in oxlint config walker (#21004) (copilot-swe-agent)
  • af89923 linter/no-namespace: Support glob pattern matching against basename (#21031) (bab)
  • 64a1a7e oxlint: Don't search for nested config outside base config (#21051) (Sysix)
  • 3b953bc linter/button-has-type: Ignore document.createElement calls (#21008) (Said Atrahouch)
  • 8c36070 linter/unicorn: Add support for Array.from() for prefer-set-size rule (#21016) (Mikhail Baev)
  • c1a48f0 linter: Detect vitest import from vite-plus/test (#20976) (Said Atrahouch)
  • 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (#19793) (Peter Wagenet)
  • ca79960 linter/no-array-index-key: Move span to key property (#20947) (camc314)
  • 2098274 linter: Add suggestion for jest/prefer-equality-matcher (#20925) (eryue0220)
  • 6eb77ec linter: Allow default-import barrels in import/named (#20757) (Bazyli Brzóska)
  • 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (#20890) (Said Atrahouch)

⚡ Performance

  • fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (#21025) (overlookmotel)
  • 3b7dec4 napi/parser, linter/plugins: Use utf8Slice for decoding UTF-8 strings (#21022) (overlookmotel)
  • 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (#21021) (overlookmotel)
  • 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (#21020) (overlookmotel)
  • c25ef02 napi/parser, linter/plugins: Simplify branch condition in deserializeStr (#21019) (overlookmotel)
  • 9f494c3 napi/parser, linter/plugins: Raw transfer use String.fromCharCode in string decoding (#21018) (overlookmotel)
  • 0503a78 napi/parser, linter/plugins: Faster deserialization of raw fields (#20923) (overlookmotel)
  • a24f75e napi/parser: Optimize string deserialization for non-ASCII sources (#20834) (Joshua Tuddenham)

📚 Documentation

  • af72b80 oxlint: Fix typo for --tsconfig (#20889) (leaysgur)
  • 70c53b1 linter: Highlight that tsconfig is not respected in type aware linting (#20884) (camc314)

Oxfmt v0.44.0

🚀 Features

  • 35cf6e8 oxfmt: Add node version hint for ts config import failures (#21046) (camc314)

🐛 Bug Fixes

  • dd2df87 npm: Export package.json for oxlint and oxfmt (#20784) (kazuya kawaguchi)
  • 9d45511 oxfmt: Propagate file write errors instead of panicking (#20997) (leaysgur)
  • 139ddd9 formatter: Handle leading comment after array elision (#20987) (leaysgur)
  • 4216380 oxfmt: Support .editorconfig tab_width fallback (#20988) (leaysgur)
  • d10df39 formatter: Resolve pending space in fits measurer before expanded-mode early exit (#20954) (Dunqing)
  • f9ef1bd formatter: Avoid breaking after => when arrow body has JSDoc type cast (#20857) (bab)

Installer type: zip

Architecture Scope Download SHA256
x86 Download FFE3B86B671F1C803E6189D13EE31BF5A10DDA52A13927A30F084675694D04AA
x64 Download 2A1FF686DB47561283B99B6A4414EFEB6823035E66728DBE9124EA5AC6762444
arm64 Download A70772858561FF5EBB9C28E3DC395102034C1E8B376FDAA08B63D74041267F6C

Details

Homepage
https://oxc.rs/docs/guide/usage/linter.html
License
MIT
Publisher
VoidZero Inc. & Contributors
Support
https://github.com/oxc-project/oxc/issues
Copyright
Copyright (c) 2024-present VoidZero Inc. & Contributors

Tags

compilerjavascriptlinterminifierparsertranspilertypescript

Older versions (32)

1.58.0
Architecture Scope Download SHA256
x86 Download 629BE00C005092AF980B08102A72749A8B1039EF45C19152D8197AE7BE7608C0
x64 Download 348A9194CDABBCA30141D46228351B80F5E31C2BB5134F2148A45DA4E18B5B63
arm64 Download 8BEC24D4BD3C47DE50D0101599B8463F3A6D4C6367520521256C4B630DA3EBC8
1.57.0
Architecture Scope Download SHA256
x86 Download CB722A19BD98A9A59BBAE98ECC42D7F8B446F97283E98D807F8BF83D9EE54019
x64 Download ED54BC28ADAB824F657C4F4FC9D4243DFF57E8797E68E339CA8B9489521214C5
arm64 Download AC058970D3EA51DE7969D063012435BEAD65B3A1446C556F894D1997F8B6A5E9
1.56.0
Architecture Scope Download SHA256
x86 Download F8102455E89A58334AC90AC677DE8AD3EA9738D15F06820E50450F75356859FE
x64 Download 6AB70CE6282D29F690E1ECE17E37BFE1B3E9596005B3A6BF366629D4B546087B
arm64 Download 86A109D07D5A8B3F332A8A74DDDA90F6507BA17664694A119C4A6E35390B9FFA
1.55.0
Architecture Scope Download SHA256
x86 Download CD5D033788605BCA33ECCEB81D59262AB0884A65B9C605BE22B9B0083FC30597
x64 Download 2B7E2E18906A0C72A8C312A3C757F20E2B2F8E20D90DCC618B3C9FD5FC6AC961
arm64 Download B12AE308E3821891F41199ABBE93DEB61029E33C2FB55CE02EADE7A931B9E1D7
1.54.0
Architecture Scope Download SHA256
x86 Download 2E681E3F7BEE6460AD42D8FCABBD4EFE60ABF61007F71F3180669EAA287B39EE
x64 Download 4B0C52C8596D21AA0C79C5AF425C5D25EDA3E6CCA650E3BAE1048CD14D270701
arm64 Download D24DE73E3FF37A286F905995B304ABF68AB8CE56270E795EEF449C2E00B4E24B
1.51.0
Architecture Scope Download SHA256
x86 Download 60A4251734712F22EDABD65485667A6E73297581F5E660402D8DA63454C3C715
x64 Download EAB24AE641BBC537248F13F579C9EE09AB5ADBE53AFAFBF2F99E0589D14D407F
arm64 Download 7F476D8CF2616BC0B1EC9FD1166AB8EEB84BE7F00F52D61B9B844D41BB4B5B9E
1.50.0
Architecture Scope Download SHA256
x86 Download 9EEEB3CCA1A99A5B72F80025C333DB3AC81629CF3C7120F2C6BD35E74EFDDFF5
x64 Download 6A1DC9A3A7CC9E434159D4C14540BBC39338E898DC78D441F97710DD709FF1CD
arm64 Download 922B20FC1A4648F14840E477F00BE3DE14C96E10E340CB287CA9C5CFD8013426
1.49.0
Architecture Scope Download SHA256
x86 Download 76917B8DEBABC745C79DB7EDB343191427109F622F85F73E82761404A44E452D
x64 Download C2F39AADCBF0F160556642509517EF7463366EB261DD6B5D4D83DB84237D31D5
arm64 Download 1534EB94CDD04F016629D444347DA6F2A0B7CF943C276046D9426F0B6CC0F4B2
1.48.0
Architecture Scope Download SHA256
x86 Download 178148C678D810DABEA2B05666099D04298B60D33FBB0BCBE8A59F548270BB4A
x64 Download 31F49C13923D6A2E6E5F91F926D0D964F7CB6A888DAE896D827CECFF158C5A16
arm64 Download 3A5D274590D356040EEEB5F3F29D66A142E26597EEF610D47327048215C9F269
1.46.0
Architecture Scope Download SHA256
x86 Download FA57D2C29A182C7843BB153D18F4A643776C88E8FB0913DAC8B384CD21DCBB6A
x64 Download 3BF910D91DB9773DF67C3E1F0A883C621346ECD393E9AF3D988E79DE93BE50C7
arm64 Download 32F1CEF23B10AA0886C5324EF33D3A31BEE0151306FD286ABE506326CF541A9A
1.43.0
Architecture Scope Download SHA256
x64 Download 7DF7F8623C612376EB746343521FE1054A5CB7C12E4D574B606F38FA772A98C2
arm64 Download C60D502DF9D5F58F5A27B931512BBC2E51F18DDE3B33FFC9E01D604980B9E1AE
1.42.0
Architecture Scope Download SHA256
x64 Download 75E1C3D5545966017B639F8BD77EE8507710E760D9400D0D55B8AB7AC71DCFC3
arm64 Download 67114B66D36981D18B0A2A7B88DA724886B3826B2BB2E8B03648FA7208C63B16
1.41.0
Architecture Scope Download SHA256
x64 Download C20DEF7EB3ED68B1E9E352879FC1E98CD0C81C6755F6D13C2BC04B5D8BB6B026
arm64 Download 6FF6D5613A763E65A8B15A0AD0C3FA6AD417777A2D4D53D3629715506A37A28B
1.40.0
Architecture Scope Download SHA256
x64 Download 975D06EEC7659A436FA0B986DC3279C94F555814BBBB8DF740C3CB6E047CBDCF
arm64 Download C15775CA9A4AE1259DEA2E741D670C4D8B215D53A3F1D5B89B741EB3EF8421B2
1.39.0
Architecture Scope Download SHA256
x64 Download EC9A60D5A098293E10404E250FC62AF31AAAE9DD470A9C68556A8FAA14B4EE8C
arm64 Download 628A88C8D15DC998CBB73F433ECF60BB55AAD2396E7740C92E9357B2CAF7E6D3
1.38.0
Architecture Scope Download SHA256
x64 Download 04C1179BCE7F881F3C92027A56FA55972B5A8ABFD3B9869C582F72F3284A4787
arm64 Download BB578D76DD74DDCB99C326565AAA7326287C78741F1C60A58D31A28F4562A145
1.37.0
Architecture Scope Download SHA256
x64 Download 04901A7DE1DFA810D0003AA27FA4FF972E68E5A1AD7C8C7ED1F31A01B60C3E7E
arm64 Download 7DC0C6708B16115974601AB043D38A0A020B1B37256EB68812C44EC19CF42F37
1.36.0
Architecture Scope Download SHA256
x64 Download C372632304AE494B6459E240A1D8CED8A54D9D7AA8618007FE229C0B70871D5A
arm64 Download 0A3D90E593F0B24CE2E2800B1F6B50B630492FA06EA87A30C7227213AFE2848B
1.35.0
Architecture Scope Download SHA256
x64 Download EE03BB0D9BEB285663D4BA21CE096934CEE64FE4D1FEA9666FB49AF0E936796A
arm64 Download 91F40310E38677D1E642756FDC9480BA6C29526DB1027CDB45EC4CC244878ED9
1.34.0
Architecture Scope Download SHA256
x64 Download C43FF2F15914F9CDCF8182C51EF2C94E7A449AC0CB79205F76026F5841222736
arm64 Download 36A51BCD0522AF286FE85B9841DD763EB644E0A3B3E897B5ADB2D907E4290155
1.33.0
Architecture Scope Download SHA256
x64 Download 982E6717EC0D95BA30725F625A177E9F0CFD908F3F9A802A7281DA6BFACB6626
arm64 Download E834161707C0D899AEA36A992637125E46625E363886E75693B582B027A6C23A
1.32.0
Architecture Scope Download SHA256
x64 Download 0B21C4FF7222738C6089312892DF57BA19153D9EEE42FAF19448AD34E718D711
arm64 Download 9EDAE5D786A504BD3A0D499363D717D5482108487E0E44874CFA32DE96D49F80
1.31.0
Architecture Scope Download SHA256
x64 Download 419AD31D302BAE4613B3B90479863F3EBE13FC0384BA28C3D74D9DDF9D68A1C6
arm64 Download E966D07D99DA127627F84E3A07ABDBF3AE1DF9C9B0478E129C57F4D498662E92
1.30.0
Architecture Scope Download SHA256
x64 Download F18007185EC98218F5C3E2F50F99BAD7112CFD18EA6BDEAC5FF13B59481150EF
arm64 Download 0B57B36F7941FF555D9829F3F1337E9CD5075893BBAD71F8D2A3B0D729E1A893
1.29.0
Architecture Scope Download SHA256
x64 Download 2269E7052EEED5D3E9FB47729DCA5CB1F8AA1FAB138DF531C43042D6A4AC4B4A
arm64 Download C057189CD534FAF7B637704A05A0169C17AAA140C6092272385D4C8597B3FC4D
1.28.0
Architecture Scope Download SHA256
x64 Download 078674B9518E449619AF3B2579A8C677D850B5D3FA5AD4636934B7343E674D22
arm64 Download D57CE08A641A468142C700FA7224E011D6A89F0DD71D28B9B46E07DD8E14BE29
1.16.0
Architecture Scope Download SHA256
x64 Download 00369C639770A08393C49564722175070E94046516843A0D35402638CA76180B
arm64 Download CE76FB85212B6C4F5484F87D38DB231556EFE825BBB3F2A6EC3D9A344FB8BB06
1.15.0
Architecture Scope Download SHA256
x64 Download 19D2600D2FF94B7B63BCDD208FC16C9D75A421A07E0033C0674261D65DE9AF07
arm64 Download 5BF1C7BABE39A5CB23E742959FE53A4BA280861C123FB8A101B505A2CB0BD2F4
1.14.0
Architecture Scope Download SHA256
x64 Download 4BB63275181778BD310E48936CCF2C2D4941C41ED1F59791A5D4AF032C84D3A3
arm64 Download 647A832948C5ADCE8214B04389239C5700E0DD900D71689CEE814314EAC3DC7E
1.13.0
Architecture Scope Download SHA256
x64 Download CACF99ABCE5124F113CB853686582876C5C0096D7C126A22CAD4B6FE510BE72F
arm64 Download 750FA4BB19E78AD31DAD07D8D45C457D896043AEDCDF5E40AB757D4BA32A8A18
1.12.0
Architecture Scope Download SHA256
x64 Download B1DB6DB4727CB755AA332C33DF21C7B547224039BA67EBF69114445ED0D05184
arm64 Download 79095D1F220A5681A66B1CD96DA8C4B32C74C3AEB430FFBE215C86CD953A29D7
1.11.2
Architecture Scope Download SHA256
x64 Download F1EE1E8BD211BE7B7A5093494A3395F4F3FF20C94D02F4EE5A84DB05E11EF6C6
arm64 Download F5B3A802C51E3F649842B0AC92EE431D75F207E117B1F6865E651ED2FFE36C25