Oxlint – written in Rust – 50-100 Times Faster than ESLint

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • oxc

    ⚓ A collection of JavaScript tools written in Rust.

  • If I understand it right, we have 3 large projects that aim to replace most of JS tools on their own: Bun[0], Oxc[1] and Biome[2]. Bun's package manager is great, Biome formatter recently reached 96% compatibility with Prettier, and now Oxlint is apparently good enough to replace ESLint at Shopify. Exciting times ahead.

    But it's giving the impression that these projects perhaps could be better off collaborating instead of each of them aiming to eat the world on their own?

    [0] https://bun.sh/

    [1] https://oxc-project.github.io/

    [2] https://biomejs.dev/

  • biome

    A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

  • If I understand it right, we have 3 large projects that aim to replace most of JS tools on their own: Bun[0], Oxc[1] and Biome[2]. Bun's package manager is great, Biome formatter recently reached 96% compatibility with Prettier, and now Oxlint is apparently good enough to replace ESLint at Shopify. Exciting times ahead.

    But it's giving the impression that these projects perhaps could be better off collaborating instead of each of them aiming to eat the world on their own?

    [0] https://bun.sh/

    [1] https://oxc-project.github.io/

    [2] https://biomejs.dev/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bun

    Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

  • If I understand it right, we have 3 large projects that aim to replace most of JS tools on their own: Bun[0], Oxc[1] and Biome[2]. Bun's package manager is great, Biome formatter recently reached 96% compatibility with Prettier, and now Oxlint is apparently good enough to replace ESLint at Shopify. Exciting times ahead.

    But it's giving the impression that these projects perhaps could be better off collaborating instead of each of them aiming to eat the world on their own?

    [0] https://bun.sh/

    [1] https://oxc-project.github.io/

    [2] https://biomejs.dev/

  • typescript-eslint

    :sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript

  • > Only lint files that have changed? How hard that is?

    Quite hard, especially since type-aware rules from e.g. https://typescript-eslint.io/ mean that changing the type of a variable in file A can break your code in file B, even if file B hasn't changed.

  • genemichaels

    Even formats macros

  • Python and JavaScript have similarly good formatters (as long as your idiot colleagues don't insist on using yapf instead of Black, despite yapf producing non-deterministic output!). In fact I would say Rust is probably behind Prettier in terms of auto formatting. The rustfmt output is less pretty (subjective I know), the devs have made several strange decisions and it seems to be semi-abandoned (maybe partly because the devs were ... shall we say not as friendly and welcoming as the Rust community likes to bleat on about).

    There are a couple of alternative formatters:

    * https://github.com/andrewbaxter/genemichaels

  • prettier-plugin-rust

    Prettier Rust is an opinionated code formatter that autocorrects bad syntax.

  • cargo-release

    Cargo subcommand `release`: everything about releasing a rust crate.

  • You should combine step 1 and 2 with CI. Just tag a version in your git, push to remote and have CI auto build a release for you.

    Use github actions or other setup for other backends.

    Or go nuts with cargo-release.

    https://github.com/crate-ci/cargo-release

    https://github.com/cargo-bins/release-pr

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • release-pr

    GitHub Action to create a release PR using cargo-release — soft deprecated: try release-plz instead!

  • You should combine step 1 and 2 with CI. Just tag a version in your git, push to remote and have CI auto build a release for you.

    Use github actions or other setup for other backends.

    Or go nuts with cargo-release.

    https://github.com/crate-ci/cargo-release

    https://github.com/cargo-bins/release-pr

  • dprint

    Pluggable and configurable code formatting platform written in Rust.

  • deno

    A modern runtime for JavaScript and TypeScript.

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts