Fast Type-Aware Linting in Oxlint

https://news.ycombinator.com/rss Hits: 3
Summary

Oxlint Type-Aware PreviewWe're thrilled to announce type-aware linting in oxlint!The long-awaited no-floating-promises and related rules are here.This preview release aims to engage with the community for collaboration and discussion by documenting our decision process and technical details.Quick Start ​If oxlint is already configured, install oxlint-tsgolint and run oxlint with the --type-aware flag:bashpnpm add -D oxlint-tsgolint@latest pnpm dlx oxlint --type-awareIf oxlint is not configured but you want to see no-floating-promises in action:bashpnpm add -D oxlint-tsgolint@latest pnpm dlx oxlint@latest --type-aware -A all -D typescript/no-floating-promisesWe expect to see, for example:js × typescript-eslint(no-floating-promises): Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator. ╭─[packages/rolldown/src/api/watch/watcher.ts:30:7] 29 │ await this.close(); 30 │ originClose(); · ────────────── 31 │ }; ╰────Please visit our usage guide for more configuration options.Performance ​Our testing shows that repositories which previously took a minute to run with typescript-eslint now complete in less than 10 seconds.This is achieved by leveraging typescript-go, the 10x faster TypeScript written in Go.Using projects from oxlint-ecosystem-ci:ProjectFilesTimenapi-rs1441.0spreact2452.7srolldown3141.5sbluesky11527.0sType-Aware Linting ​Please refer to Rust-Based JavaScript Linters: Fast, But No Typed Linting Right Now to understand the current status of type-aware linting in the ecosystem.Technical Details ​The core of this new functionality is oxc-project/tsgolint.The tsgolint project was initially prototyped as typescript-eslint/tsgolint. However, the typescript-eslint team decided not to allocate development resources to this prototype, as they plan to continue their work on typescript-eslint for typed linting with ESLint.@boshen reached out to @auvred for a forke...

First seen: 2025-08-20 01:03

Last seen: 2025-08-20 03:03