😐
bun test をtsで使うときには @types/web と tsconfig.json の設定が必要
結論
これをやればok
- bun add -d @types/web
- Update tsconfig.json
{
// ...
"lib": ["ESNext", "DOM", "DOM.Iterable"],
"types": ["web", "bun-types"]
}
経緯
pnpm の代わりに bun を使ったら CI/CD で毎回5分半かかってたのが4分ぐらいに速くなって快適になったので、ついでに vitest の代わりに bun test を使うようにしたかった。
import { test, expect } from "vitest"
の代わりに
import { test, expect } from "bun:test"
にすればいいだけなんだけど、この "bun:test"が型エラーになっちゃう。
そこで tsconfig.json の types に "bun-types" を追加するんだけど、そうすると今度は document とか、各種DOM系の型エラーが出るようになっちゃった。
issue を探すと同様のひとがいっぱいで、ここで解決策をまとめてくださっていた。
そのとおりやったら、okでした。
感想
vitest で30秒ぐらいかってたのが、bun test にすると 15秒ぐらいになりました。
めっちゃ速くて超快適!
Discussion