← Package directory
Available on winget

Install 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.

Install with winget
winget install --id oxc-project.oxlint
Upgrade
winget upgrade --id oxc-project.oxlint
Uninstall
winget uninstall --id oxc-project.oxlint

About 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.

What's new in 1.72.0

BREAKING CHANGES - 88f4455 str: [BREAKING] Str and Ident methods take &GetAllocator (#23781) (overlookmotel) Features - 2428c50 linter/react: Implement suggestion for no-unknown-property rule (#23936) (Mikhail Baev) - f2091b3 ast: Unify old and new AstBuilders (#23875) (overlookmotel) - 1c8f50c linter: Add schema for eslint/no-restricted-import (#23642) (Sysix) Bug Fixes - d8c6b55 linter/unicorn/custom-error-definition: Handle non-ascii class names (#23939) (camc314) - 7cb85c4 linter/eslint/no-negated-condition: Add autofix for negated conditions (#23825) (Yagiz Nizipli) - f7d1f50 oxlint, oxfmt: Enable disable_old_builder Cargo feature for oxc_ast crate (#23886) (overlookmotel) - d891990 linter/jsx-a11y/role-supports-aria-props: Ignore nullish prop values (#23865) (Mikhail Baev) - 94b6599 linter: Deduplicate missing plugin errors (#23853) (camc314) - eff3eff linter/oxc/branches-sharing-code: Avoid else-if false positives (#23843) (camc314) - 2a2d3b9 linter/eslint/prefer-destructuring: Skip AssignmentExpression autofixes (#23818) (camc314) - ddc24ae linter/eslint/id-length: Respect checkGeneric for mapped type keys (#23802) (bab) - cd89202 linter/react/exhaustive-deps: Skip wrapper expression when analyzing hook initializers (#23793) (camc314) - 20e8285 linter/unicorn/prefer-native-coercion-function: Allow ts type predicates (#23774) (camc314) - d86f60b lsp: Normalize user config path to watch pattern (#23723) (Sysix) - 52032cf linter: Newline-terminate tsgolint errors (#23762) (Mikhail Baev) - 368fda7 linter/eslint/no-warning-comments: Avoid dropping generated regex pattern...

Read release notes

Version history

Version Updated Notes
1.72.0 Unknown BREAKING CHANGES - 88f4455 str: [BREAKING] Str and Ident methods take &GetAllocator (#23781) (overlookmotel) Features - 2428c50 linter/react: Implement suggestion for no-unknown-property rule (#23936) (Mikhail Baev) - f2...
1.71.0 Unknown BREAKING CHANGES - 36009dd allocator: [BREAKING] GetAllocator::allocator take &self (#23676) (overlookmotel) Features - ff65285 linter: no-restricted-globals add missing upstream options (#23663) (Sysix) - 7b8bd89 linter...
1.70.0 Unknown Highlights - 1490a0a linter/react: Implement react-compiler rule (#23202) (Boshen) 🚀 Features - 5e1627d linter/unicorn: Flag all Error() calls without new in throw-new-error (#23363) (Cason Kervis) - 2e8bda4 linter/vue:...
1.69.0 Unknown Features - e805174 linter: Add schema for jest/vitest/max-expects (#23105) (Sysix) - 7850577 linter: Add schema for jest/vitest/expect-expect (#23104) (Sysix) - 75f641a linter: Add schema for jest/vitest/consistent-test-...
1.68.0 Unknown 🚀 Features - 81b86eb parser: Report TS1095 for setter with return type (#22889) (camc314) - 3f05c5e linter: Expose override::exclude_files option (#22884) (camc314) - e4b1f46 linter/typescript: Implement method-signature...
1.67.0 Unknown Features - 10da26b linter: no-misleading-character-class add suggestions for regex literal (#22681) (Sysix) - b84941e linter/vue: Implement no-expose-after-await rule (#22675) (bab) - 98b98c1 linter/vue: Implement no-com...
1.66.0 Unknown 🚀 Features - 1ae291e linter/no-underscore-dangle: Add allowInUsingDeclarations option (#22483) (吴杨帆) - 0440b0f linter/eslint: Implement id-match rule (#22379) (Vladislav Sayapin) - 65bf119 linter: Implement react no-obje...
1.65.0 Unknown 🚀 Features - 5478fb5 linter/jsdoc: Implement require-throws-description rule (#22386) (Mikhail Baev) - b46d4de linter: Add --debug options and add per-rule timing info (#22282) (camchenry) - c73225e linter/eslint: Implem...
1.64.0 Unknown BREAKING CHANGES - 00ce512 oxlint/lsp: [BREAKING] Don't fix suggestions on fixAll code actions & command (#22195) (Sysix) Features - 0eeceaf linter/no-unused-vars: Rename parameter with initializer (#22308) (camc314) - f...
1.63.0 Unknown 🚀 Features - 1884833 linter/plugins: Implement SourceCode.getDisableDirectives method (#21029) (Nicolas Le Cam) - 00f9a9d linter/sort-keys: Support autofix with comments (#22061) (Amund Eggen Svandal) - 5b9ea93 linter/es...
1.62.0 Unknown 💥 BREAKING CHANGES - 502e804 ast: [BREAKING] Reduce size of TSTypePredicateName (#21711) (overlookmotel) - 5651539 ast: [BREAKING] Reduce size of JSXExpression (#21710) (overlookmotel) - c44e280 ast: [BREAKING] Reduce si...
1.61.0 Unknown Table of Contents - Oxlint v1.61.0 - Oxfmt v0.46.0 Oxlint v1.61.0 💥 BREAKING CHANGES - 24fb7eb allocator: [BREAKING] Rename Box and Vec methods (#21395) (overlookmotel) 🚀 Features - 38d8090 linter/jest: Implemented jest...
1.60.0 Unknown 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_span crate (#21246) (overlookmotel) - c4aedfa str: [BREAKING] Add...
1.59.0 Unknown 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.fixA...
1.58.0 Unknown Table of Contents - Oxlint v1.58.0 - Oxfmt v0.43.0 Oxlint v1.58.0 💥 BREAKING CHANGES - c0ebbce linter: [BREAKING] Report error on unknown builtin rule (#20464) (camc314) 🚀 Features - 04f85e5 linter/no-unused-vars: Add sa...
1.57.0 Unknown Table of Contents - Oxlint v1.57.0 - Oxfmt v0.42.0 Oxlint v1.57.0 🚀 Features - 2244984 linter: Implement vitest/prefer-strict-boolean-matchers rule (#20603) (Mikhail Baev) - c5f0ed3 linter/array-callback-return: Use CFG...
1.56.0 Unknown Table of Contents - Oxlint v1.56.0 - Oxfmt v0.41.0 Oxlint v1.56.0 🚀 Features - c95951f linter/plugins: Implement sourceCode.markVariableAsUsed (#20357) (overlookmotel) - 7a2a7d0 linter: Implement n/handle-callback-err ru...
1.55.0 Unknown Table of Contents - Oxlint v1.55.0 - Oxfmt v0.40.0 Oxlint v1.55.0 🐛 Bug Fixes - 6b46ce8 oxlint: Ignore inherited root-only options in nested configs (#20291) (camc314) - bc20217 oxlint,oxfmt: Omit useless | null for Opti...
1.54.0 Unknown Table of Contents - Oxlint v1.54.0 - Oxfmt v0.39.0 Oxlint v1.54.0 🐛 Bug Fixes - 4ea67de oxlint,oxfmt: Skip vite.config.ts exports defineConfig(fn) (#20260) (leaysgur) - cc89dbf oxlint: Skip vite.config.ts w/o .lint field...
1.51.0 Unknown Table of Contents - Oxlint v1.51.0 - Oxfmt v0.36.0 Oxlint v1.51.0 🚀 Features - 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls (off|suggestion|fix) (#19774) (camc314) - f34f6fa linter: Introduce typeChe...