{"slug": "oxlint", "name": "oxlint", "category": "other", "category_name": "Other software", "description": "Rust-based JavaScript and TypeScript linter from the Oxc project, designed as an ESLint alternative.", "recommenders": 5, "commenters": 5, "warners": 0, "score": 4.756, "rising": 1.02, "first": "2026-07-02", "latest": "2026-10-13", "why": "HN commenters like oxlint as a fast, ESLint-compatible linter that fits alongside Vite, Vitest and Oxfmt in a modern JavaScript stack and serves as a guardrail for LLM-generated code.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 5, "neutral": 0, "compare": 0, "warn": 0}, "spark": [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2], "listed": true, "loved": ["Modern toolchain fit", "LLM code guardrail"], "caveat": "No plugin support", "short_quote": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation.", "icon": false, "domain": null, "github_repo": null, "official_url": "https://oxc.rs", "pricing": "open source", "aliases": ["oxlint", "Oxlint"], "verdict": [{"text": "HN commenters like oxlint as a fast, ESLint-compatible linter", "cites": [{"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"text": " that fits alongside Vite, Vitest and Oxfmt in a modern JavaScript stack", "cites": [{"id": 780172994, "item_id": 48760812, "url": "https://news.ycombinator.com/item?id=48760812", "by": "KronisLV", "date": "2026-07-02", "stance": "recommend", "quote": "I love Vite, Vitest, Oxlint and Oxfmt", "excerpt": "I love Vite, Vitest, Oxlint and Oxfmt and look in their direction for most of my new projects! I hope these folks manage to get a bunch of money and can fund the continued development for at least the next decade. Sure beats opening some ancient project and seeing some mix of Gulp, Grunt, webpack and a bunch of other disjointed stuff (I migrated that one over to also use the newer stack).", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 780286016, "item_id": 48767876, "url": "https://news.ycombinator.com/item?id=48767876", "by": "ProCodeSoftware", "date": "2026-07-02", "stance": "recommend", "quote": "I use oxfmt and oxlint", "excerpt": "I use oxfmt and oxlint, the first JS linter I've used. For a long time, I avoided Eslint due to how strict it was, but even though oxlint uses eslint, I've been ok using it. I haven't used vitest before though. And I think Webpack should be discontinued by now, because Vite has replaced it in every way. Maybe to get other projects to switch, they should make a Webpack-to-Vite migration script.", "context": "", "use_case": "JS linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"text": " and serves as a guardrail for LLM-generated code.", "cites": [{"id": 801268128, "item_id": 50079258, "url": "https://news.ycombinator.com/item?id=50079258", "by": "navs", "date": "2026-10-13", "stance": "recommend", "quote": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation.", "excerpt": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation. I started down this path after looking at what coderabbit suggested in https://github.com/coderabbitai/ast-grep-essentials", "context": "", "use_case": "linting LLM-generated code", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}]}, {"text": " The main caveat is that it does not yet support plugins, which holds back some ESLint plugin users from switching.", "cites": [{"id": 801254594, "item_id": 50078412, "url": "https://news.ycombinator.com/item?id=50078412", "by": "SSchick", "date": "2026-10-13", "stance": "recommend", "quote": "I can't wait until oxlint has plugin support so I can move over to it.", "excerpt": "I work on a project where we recently heavily pivoted into AI assisted feature development and without a extremely defensive/aggressive lint config and test coverage near ~80% most of these developments would be quiet impossible. `no-reflect-get` is definitely one I'd adopt, claude LOVES `Reflect.get` for some reason A lot of the lint rules in this repo remind me of https://github.com/sindresorhus/eslint-plugin-unico", "context": "", "use_case": "linting", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}]}], "praise": [{"label": "Modern toolchain fit", "summary": "Commenters pair it with Vite, Vitest and Oxfmt and reach for that stack in new projects.", "quotes": [{"id": 780172994, "item_id": 48760812, "url": "https://news.ycombinator.com/item?id=48760812", "by": "KronisLV", "date": "2026-07-02", "stance": "recommend", "quote": "I love Vite, Vitest, Oxlint and Oxfmt", "excerpt": "I love Vite, Vitest, Oxlint and Oxfmt and look in their direction for most of my new projects! I hope these folks manage to get a bunch of money and can fund the continued development for at least the next decade. Sure beats opening some ancient project and seeing some mix of Gulp, Grunt, webpack and a bunch of other disjointed stuff (I migrated that one over to also use the newer stack).", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 780286016, "item_id": 48767876, "url": "https://news.ycombinator.com/item?id=48767876", "by": "ProCodeSoftware", "date": "2026-07-02", "stance": "recommend", "quote": "I use oxfmt and oxlint", "excerpt": "I use oxfmt and oxlint, the first JS linter I've used. For a long time, I avoided Eslint due to how strict it was, but even though oxlint uses eslint, I've been ok using it. I haven't used vitest before though. And I think Webpack should be discontinued by now, because Vite has replaced it in every way. Maybe to get other projects to switch, they should make a Webpack-to-Vite migration script.", "context": "", "use_case": "JS linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"label": "LLM code guardrail", "summary": "One commenter calls it, with ast-grep rules, an absolute necessity for LLM-based code generation.", "quotes": [{"id": 801268128, "item_id": 50079258, "url": "https://news.ycombinator.com/item?id=50079258", "by": "navs", "date": "2026-10-13", "stance": "recommend", "quote": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation.", "excerpt": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation. I started down this path after looking at what coderabbit suggested in https://github.com/coderabbitai/ast-grep-essentials", "context": "", "use_case": "linting LLM-generated code", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}]}, {"label": "ESLint compatibility", "summary": "It replaces ESLint while staying compatible with its config file format.", "quotes": [{"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"label": "Speed", "summary": "Described as ultra fast because it isn't written in JavaScript.", "quotes": [{"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"label": "More rules than Biome", "summary": "One user who tried Biome found oxlint to have more rules.", "quotes": [{"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}, {"label": "Approachable", "summary": "A user who avoided ESLint for its strictness has been fine using oxlint.", "quotes": [{"id": 780286016, "item_id": 48767876, "url": "https://news.ycombinator.com/item?id=48767876", "by": "ProCodeSoftware", "date": "2026-07-02", "stance": "recommend", "quote": "I use oxfmt and oxlint", "excerpt": "I use oxfmt and oxlint, the first JS linter I've used. For a long time, I avoided Eslint due to how strict it was, but even though oxlint uses eslint, I've been ok using it. I haven't used vitest before though. And I think Webpack should be discontinued by now, because Vite has replaced it in every way. Maybe to get other projects to switch, they should make a Webpack-to-Vite migration script.", "context": "", "use_case": "JS linting", "switched_from": "", "story": "Vite+ Beta"}]}], "caveats": [{"label": "No plugin support", "summary": "Lack of plugin support keeps a user reliant on ESLint plugins like unicorn from moving over.", "quotes": [{"id": 801254594, "item_id": 50078412, "url": "https://news.ycombinator.com/item?id=50078412", "by": "SSchick", "date": "2026-10-13", "stance": "recommend", "quote": "I can't wait until oxlint has plugin support so I can move over to it.", "excerpt": "I work on a project where we recently heavily pivoted into AI assisted feature development and without a extremely defensive/aggressive lint config and test coverage near ~80% most of these developments would be quiet impossible. `no-reflect-get` is definitely one I'd adopt, claude LOVES `Reflect.get` for some reason A lot of the lint rules in this repo remind me of https://github.com/sindresorhus/eslint-plugin-unico", "context": "", "use_case": "linting", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}]}], "who": [], "tags": ["for JavaScript projects", "for AI-assisted coding", "for Vite users", "ESLint replacement"], "use_cases": ["linting", "linting llm-generated code", "js linting"], "compared": [{"slug": "oxfmt", "name": "oxfmt", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "vite", "name": "Vite", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "eslint", "name": "ESLint", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "vitest", "name": "Vitest", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48759761", "title": "Vite+ Beta", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=50075809", "title": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript", "mentions": 2}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 3}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 2}}, "quotes": [{"id": 801268128, "item_id": 50079258, "url": "https://news.ycombinator.com/item?id=50079258", "by": "navs", "date": "2026-10-13", "stance": "recommend", "quote": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation.", "excerpt": "oxlint and some general ast-grep rules have pretty much been an absolute necessity for any of my LLM based code generation. I started down this path after looking at what coderabbit suggested in https://github.com/coderabbitai/ast-grep-essentials", "context": "", "use_case": "linting LLM-generated code", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}, {"id": 801254594, "item_id": 50078412, "url": "https://news.ycombinator.com/item?id=50078412", "by": "SSchick", "date": "2026-10-13", "stance": "recommend", "quote": "I can't wait until oxlint has plugin support so I can move over to it.", "excerpt": "I work on a project where we recently heavily pivoted into AI assisted feature development and without a extremely defensive/aggressive lint config and test coverage near ~80% most of these developments would be quiet impossible. `no-reflect-get` is definitely one I'd adopt, claude LOVES `Reflect.get` for some reason A lot of the lint rules in this repo remind me of https://github.com/sindresorhus/eslint-plugin-unico", "context": "", "use_case": "linting", "switched_from": "", "story": "Show HN: Deslop \u2013 Oxlint rules for AI-generated TypeScript"}, {"id": 780286016, "item_id": 48767876, "url": "https://news.ycombinator.com/item?id=48767876", "by": "ProCodeSoftware", "date": "2026-07-02", "stance": "recommend", "quote": "I use oxfmt and oxlint", "excerpt": "I use oxfmt and oxlint, the first JS linter I've used. For a long time, I avoided Eslint due to how strict it was, but even though oxlint uses eslint, I've been ok using it. I haven't used vitest before though. And I think Webpack should be discontinued by now, because Vite has replaced it in every way. Maybe to get other projects to switch, they should make a Webpack-to-Vite migration script.", "context": "", "use_case": "JS linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 780195313, "item_id": 48762207, "url": "https://news.ycombinator.com/item?id=48762207", "by": "bhouston", "date": "2026-07-02", "stance": "recommend", "quote": "I tried biome, but I found oxlint to have more rules and the eslint compatibility was nice.", "excerpt": "> But I have zero clue what those other tools are. The incorporated tools are actually really amazing: - vitest, an ultra fast test runner. After using a lot of others, including jest and node's built in one, I love vitest. - oxlint, replaces eslint but is compatible with its file format and ultra fast, since it isn't written JavaScript. I tried biome, but I found oxlint to have more rules and the eslint compatibilit", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}, {"id": 780172994, "item_id": 48760812, "url": "https://news.ycombinator.com/item?id=48760812", "by": "KronisLV", "date": "2026-07-02", "stance": "recommend", "quote": "I love Vite, Vitest, Oxlint and Oxfmt", "excerpt": "I love Vite, Vitest, Oxlint and Oxfmt and look in their direction for most of my new projects! I hope these folks manage to get a bunch of money and can fund the continued development for at least the next decade. Sure beats opening some ancient project and seeing some mix of Gulp, Grunt, webpack and a bunch of other disjointed stuff (I migrated that one over to also use the newer stack).", "context": "", "use_case": "linting", "switched_from": "", "story": "Vite+ Beta"}]}