Upgrade to Pro — share decks privately, control downloads, hide ads and more …

oxlint & oxfmt: linting and formatting from the...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

oxlint & oxfmt: linting and formatting from the future

Avatar for Matija Marohnić

Matija Marohnić

March 24, 2026
Tweet

More Decks by Matija Marohnić

Other Decks in Programming

Transcript

  1. Linting • lots of devs h a te it •

    if a rule doesn’t work for you, remove it! • prevents exh a usting b a ck- a nd-forth
  2. ESLint • I loved it… until f l a t

    con f ig • broke everything • lots of expl a n a tion a bout HOW • little expl a n a tion a bout WHY • I no longer understood this tool
  3. Formatting • a trillion opinions on how code should be

    form a tted • zero imp a ct on function a lity • v a rious tools for form a tting or imposing rules • for ex a mple, ESLint itself
  4. Prettier • put a n end to discussions a bout

    form a tting • it h a s con f ig, but nobody f ights over it • now we a ll w a nt to form a t code however Prettier chooses • Prettier ⇥ ESLint • plugins • sorting T a ilwind cl a sses
  5. Biome • linting a nd form a tting in one

    go! • c a tegorizing rules • CI job th a t t a kes seconds • buuut… • sorting T a ilwind cl a sses? • type- a w a re linting? • Re a ct Compiler? • (Zed) Biome extension
  6. Oxc

  7. oxfmt (beta) • b a tteries-included form a tter with

    f a mili a r con f ig • supports m a ny l a ngu a ges, including embedded ones! • M a rkdown code blocks, CSS-in-JS, Gr a phQL… • support for T a ilwind CSS • c a n a lso sort imports, p a ck a ge.json… even less thinking!
  8. oxlint (stable) • f a mili a r con f

    ig • s a me c a tegories a s Biome • true type- a w a re linting vi a tsgo • p a r a llel type checking • oxlint --type- a w a re --type-check • a lph a support for JS plugins → Re a ct Compiler
  9. oxlint • “typescript/no-deprec a ted” → “no-deprec a ted” •

    true type a w a reness a nd well con f igured rules: • no type a ssertions — “hello world” a s number • no a ny without v a lid a tion
  10. Vite+ • vp lint → oxlint • vp fmt →

    oxfmt • vp check → oxlint + oxfmt + type checking
  11. • there w a s t a lk of Prettier

    getting a lot f a ster • ESLint now supports HTML • Biome is working on detecting unused CSS cl a sses