{"id":80671,"date":"2025-08-19T07:51:13","date_gmt":"2025-08-19T07:51:13","guid":{"rendered":"https:\/\/www.newsbeep.com\/ca\/80671\/"},"modified":"2025-08-19T07:51:13","modified_gmt":"2025-08-19T07:51:13","slug":"oxlint-v1-0-stable-released-a-rust-based-javascript-linter","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/ca\/80671\/","title":{"rendered":"Oxlint v1.0 Stable Released: A Rust Based JavaScript Linter"},"content":{"rendered":"<p><a href=\"https:\/\/oxc.rs\/docs\/guide\/usage\/linter\" rel=\"nofollow noopener\" target=\"_blank\">Oxlint<\/a>, a Rust-based JavaScript and TypeScript linter developed as part of the\u00a0<a data-mce-href=\"https:\/\/oxc.rs\/\" href=\"https:\/\/oxc.rs\/\" rel=\"nofollow noopener\" target=\"_blank\">Oxc toolchain<\/a>, has reached its first stable release. The 1.0 milestone brings a combination of fast linting, extensive rule coverage, and migration tools aimed at making adoption straightforward for both open-source projects and large enterprises.<\/p>\n<p>Oxlint v1.0 ships with over\u00a0<a data-mce-href=\"https:\/\/github.com\/oxc-project\/oxc\/issues\/481\" href=\"https:\/\/github.com\/oxc-project\/oxc\/issues\/481\" rel=\"nofollow noopener\" target=\"_blank\">520 supported<\/a>\u00a0ESLint rules, multi-file analysis capabilities, and zero-configuration defaults. The project&#8217;s maintainers claim performance improvements of 50-100x over\u00a0<a data-mce-href=\"https:\/\/eslint.org\/\" href=\"https:\/\/eslint.org\/\" rel=\"nofollow noopener\" target=\"_blank\">ESLint<\/a>\u00a0in real-world scenarios, with benchmarks showing codebases that previously took minutes to lint now completing in under a second.<\/p>\n<p>Oxlint\u00a0can handle multi-file rules efficiently. Examples include\u00a0<a data-mce-href=\"https:\/\/oxc.rs\/docs\/guide\/usage\/linter\/rules\/import\/no-cycle\" href=\"https:\/\/oxc.rs\/docs\/guide\/usage\/linter\/rules\/import\/no-cycle\" rel=\"nofollow noopener\" target=\"_blank\">import\/no-cycle<\/a>\u00a0and\u00a0<a data-mce-href=\"https:\/\/oxc.rs\/docs\/guide\/usage\/linter\/rules\/oxc\/no-barrel-file\" href=\"https:\/\/oxc.rs\/docs\/guide\/usage\/linter\/rules\/oxc\/no-barrel-file\" rel=\"nofollow noopener\" target=\"_blank\">oxc\/no-barrel-file<\/a>, which require resolving dependencies across many files. In Airbnb\u2019s internal testing, Oxlint was able to run these rules over a repository containing more than 126,000 files in just 7 seconds. A task ESLint could not complete in the same environment due to timeouts.<\/p>\n<p>The out-of-the-box experience for Oxlint is designed to be minimal and, right now, can be used only to fully replace ESLint in small to medium projects.<\/p>\n<p>Developers can get started with a single command:<\/p>\n<p>&#13;<br \/>\nnpx oxlint@latest .<\/p>\n<p>Oxlint\u2019s zero-config mode is designed for quick adoption, enabling developers to start linting immediately. For teams that need more customization, Oxlint provides support for .oxlintrc.json configuration files modeled after ESLint&#8217;s v8 flat config system. This approach supports nested settings, rule overrides, and extendable shared configurations.\u00a0<\/p>\n<p>To simplify migration, tools such as\u00a0<a data-mce-href=\"https:\/\/github.com\/oxc-project\/oxlint-migrate\" href=\"https:\/\/github.com\/oxc-project\/oxlint-migrate\" rel=\"nofollow noopener\" target=\"_blank\">oxlint-migrate<\/a>\u00a0and\u00a0<a data-mce-href=\"https:\/\/github.com\/oxc-project\/eslint-plugin-oxlint\" href=\"https:\/\/github.com\/oxc-project\/eslint-plugin-oxlint\" rel=\"nofollow noopener\" target=\"_blank\">eslint-plugin-oxlint<\/a>\u00a0are available, enabling\u00a0developers to convert existing ESLint setups and even run both linters side-by-side during a gradual transition. Larger projects are advised to use the eslint-plugin-oxlint plugin, which will turn off any ESLint rules already supported by Oxlint, allowing both to run simultaneously until you are able to migrate fully.\u00a0<\/p>\n<p>The linter supports over\u00a0520 rules, and the rule set continues to grow. New\u00a0rules are being reviewed and added from sources such as eslint core, typescript-eslint, eslint-plugin-react, eslint-plugin-vitest and more. A full list is available on the\u00a0<a data-mce-href=\"https:\/\/github.com\/oxc-project\/oxc\/issues\/481\" href=\"https:\/\/github.com\/oxc-project\/oxc\/issues\/481\" rel=\"nofollow noopener\" target=\"_blank\">GitHub product plan<\/a>.<\/p>\n<p>Developer feedback has been largely positive. On Reddit,\u00a0<a data-mce-href=\"https:\/\/www.reddit.com\/r\/javascript\/comments\/1l87gwx\/comment\/mxbq4zn\/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button\" href=\"https:\/\/www.reddit.com\/r\/javascript\/comments\/1l87gwx\/comment\/mxbq4zn\/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button\" rel=\"nofollow noopener\" target=\"_blank\">one user commented<\/a>:\u00a0<\/p>\n<p>&#13;<\/p>\n<p>I just migrated from ESLint for one of my projects, and the experience has been pretty good. It&#8217;s very fast, I could replace about 5 or 6 dependencies with just one, and the configuration format is much easier. Previously I decided not to use Biome because the Formatter doesn&#8217;t support Tailwind class ordering yet, now I&#8217;m running Oxlint with Prettier.<\/p>\n<p>&#13;<\/p>\n<p>Oxlint\u2019s performance is attributed to its Rust-based architecture and shared Oxc parser, which, according to their\u00a0<a href=\"https:\/\/github.com\/oxc-project\/bench-javascript-linter\" target=\"_blank\" rel=\"nofollow noopener\">benchmarks,<\/a>\u00a0is 50 &#8211; 100x faster than ESLint and even 2x faster than\u00a0<a href=\"https:\/\/biomejs.dev\/\" target=\"_blank\" rel=\"nofollow noopener\">Biome<\/a>.\u00a0<\/p>\n<p>Extensions are already available for usage within various IDEs, such as\u00a0<a data-mce-href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=oxc.oxc-vscode\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=oxc.oxc-vscode\" rel=\"nofollow noopener\" target=\"_blank\">VSCode<\/a>,\u00a0<a data-mce-href=\"https:\/\/plugins.jetbrains.com\/plugin\/27061-oxc\" href=\"https:\/\/plugins.jetbrains.com\/plugin\/27061-oxc\" rel=\"nofollow noopener\" target=\"_blank\">IntelliJ and WebStorm<\/a>,\u00a0and\u00a0<a data-mce-href=\"https:\/\/zed.dev\/extensions?query=oxc\" href=\"https:\/\/zed.dev\/extensions?query=oxc\" rel=\"nofollow noopener\" target=\"_blank\">Zed Editor<\/a>.<\/p>\n<p>The maintainers note that Oxlint currently does not support type-aware rules, though this is under consideration for future releases. Support for custom ESLint style plugins is also planned.<\/p>\n<p>Oxlint is available as an open-source package on npm and can be integrated into local development, CI\/CD workflows, or monorepos. Full documentation and migration guides are available at\u00a0<a data-mce-href=\"https:\/\/oxc.rs\/\" href=\"https:\/\/oxc.rs\/\" rel=\"nofollow noopener\" target=\"_blank\">oxc.rs<\/a>, along with more information about other tools available in the Oxc toolchain.<\/p>\n","protected":false},"excerpt":{"rendered":"Oxlint, a Rust-based JavaScript and TypeScript linter developed as part of the\u00a0Oxc toolchain, has reached its first stable&hellip;\n","protected":false},"author":2,"featured_media":80672,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[49,48,31276,4113,48726,31277,48725,61,31275,31278],"class_list":["post-80671","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-ca","tag-canada","tag-developer-experience","tag-development","tag-eslint","tag-javascript","tag-oxlint-v1-released","tag-technology","tag-typescript","tag-web-development"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/posts\/80671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/comments?post=80671"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/posts\/80671\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/media\/80672"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/media?parent=80671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/categories?post=80671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ca\/wp-json\/wp\/v2\/tags?post=80671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}