← 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.78.0

BREAKING CHANGES - a33788e ast: [BREAKING] Group class heritage into ClassHeritage (#25360) (camc314) - 5c5cdcd ast: [BREAKING] Narrow TSInterfaceHeritage::expression to TSTypeName (#24360) (camc314) - 6be314f ast: [BREAKING] Remove duplicated VariableDeclarator::kind (#25319) (camc314) - 44fd320 ast: [BREAKING] Split TS external modules & Namespace Declarations (#25284) (camc314) Features - ccb8fe8 linter/jsdoc: Implement no-blank-blocks rule (#25207) (Mikhail Baev) - d4a897c linter/eslint: Implement one-var rule (#24470) (Cole Ellison) - 5ab9340 linter/jsx-a11y/anchor-has-content: Add options to match eslint (#24571) (Cole Ellison) Bug Fixes - b746e00 linter/eslint/no-implicit-coercion: Preserve template coercion whitespace (#25470) (camc314) - a92c541 linter: Preserve source text for JS plugin ignore fixes (#25280) (Norcleeh) - 675c840 linter/eslint/prefer-promise-reject-errors: Handle parenthesized calls (#25378) (camc314) - 1703739 linter/unicorn/new-for-builtins: Ignore optional chains (#25411) (tanakalucky) - 95ece63 linter/unicorn/prefer-code-point: Downgrade the auto-fix to dangerous (#25412) (leemr) - c451a0e linter/vitest: Validate consistent-test-filename regex patterns (#25408) (Mikhail Baev) - 937825c react_compiler: Disable exhaustive memo validation by default (#25417) (Boshen) - f0f7dae linter/eslint/no-unused-vars: Report invalid regex options (#25380) (Cameron) - 44e73fd linter/unicorn/prefer-array-flat: Fix concat.apply suggestions (#25373) (Cameron) - 6846a9a linter/react/rules-of-hooks: Detect constructor callbacks (#25377) (camc314) - b247a9d linter/u...

Read release notes

Version history

Version Updated Notes
1.78.0 Unknown BREAKING CHANGES - a33788e ast: [BREAKING] Group class heritage into ClassHeritage (#25360) (camc314) - 5c5cdcd ast: [BREAKING] Narrow TSInterfaceHeritage::expression to TSTypeName (#24360) (camc314) - 6be314f ast: [BREA...
1.77.0 Unknown BREAKING CHANGES - 4120da0 semantic: [BREAKING] Return borrowed JSDoc so the parse cache works (#25186) (Connor Shea) - 067da8c ast: [BREAKING] Store single parameter in TSIndexSignature::parameter (#25154) (camc314) - 1...
1.76.0 Unknown 🚀 Features - 8d31dfa linter: Verify eslint/no-restricted-globals config schema (#24598) (vigneshwar) - 7069621 linter: Verify jest/vitest prefer-lowercase-title config schema (#24724) (Bartok) - 016cf2a linter/oxc: Add b...
1.75.0 Unknown 💥 BREAKING CHANGES - 54cc121 ast: [BREAKING] Split MetaProperty into ImportMeta and NewTarget (#24557) (camc314) 🚀 Features - 7b045cd minfier: Drop last break from last switch case (#24673) (Armano) - dd18383 linter/node...
1.74.0 Unknown Features - 0433a83 linter/eslint/no-inner-declarations: Add namespaces option (#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover .mts config files (#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofi...
1.73.0 Unknown 🚀 Features - 7db7a29 allocator: Add ReplaceWith trait (#24012) (overlookmotel) - a2c97f3 linter/unicorn: Implement explicit-timer-delay rule (#23612) (Mikhail Baev) - 85735cb linter/unicorn: Implement no-confusing-array-...
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...