Biome v2の型推論を試して限界を知る
DRANK

皆さんこんにちは。先日、Biome v2がリリースされ話題となりました。Biome v2の新機能の一つに型推論があります。TypeScriptコードに対するlintにおいて型情報を使う (type-aware linting) 機能は、これまでのところTypeScript-ESLintによって提供されてきました。これは、実際のTypeScriptコンパイラを使って型情報を取得するので、重いという欠点がありました。TypeScript自体もGoへの移植などを通じてパフォーマンス改善に取り組んでいますが、Biomeはこの問題に対して別のアプローチをとっていました。それが、本家TypeScriptコンパイラに頼らず独自に型推論を行うというものです。ただし、TypeScriptコンパイラは非常に複雑なシステムであり、別実装でその型推論結果を完全に再現するのはまず不可能です。そのため、Biomeの型推論も、完全にTypeScriptコンパイラの挙動を再現することはできません。Biome v2のリリースノートでは、noFloatingPromisesルールを例にして、実際のTypeScriptコンパイラを使用した場合に比べて75%ほどのケースを検知できるとされています。そこで、この記事では、Biome v2の型推論機能を試して、本物のTypeScriptコンパイラと比較してどの程…

zenn.dev
Related Topics: