ESLintとtsdownをバージョンアップしたメモ

どっちも自分が影響を受ける変更が入ってた。

ESLint

1年前にFlat Config + TypeScriptについて勉強してメモを残していた。

そのあと全然チェックしてなかったけど、2025年3月にみんなの意見を取り入れて更新が入ってた。

内容を2つに分けると

(1) defineConfigが導入された

  • 型安全に設定を扱えるようになった
  • 設定をフラットに展開するから ... で展開しなくてよくなった
  • extends は、なくしたけどやっぱりある方がいいってなって再導入した

tseslint.config でやってたことが defineConfig として導入された形だね。ということで tseslint.config は deprecated になった。

(2) globalIgnoresが導入された

ignores は書き方によってグローバルかローカルかが決まる仕様で分かりにくいなぁって思ってたけど、そういう声が多かったみたいで明示的にグローバルと指定できる関数が用意された。

tsdown

Koriではtsdownを使ってるんだけど、バージョンを最新にあげたらビルドが通らなくなって「はて?」ってなって、みてみたらESMの出力が .d.mts.mjs になってた。

.mjs じゃなくて .js を使いたいなと思ったので tsdown.config.jsfixedExtension: false を設定しておいた。