どっちも自分が影響を受ける変更が入ってた。
ESLint
1年前にFlat Config + TypeScriptについて勉強してメモを残していた。
そのあと全然チェックしてなかったけど、2025年3月にみんなの意見を取り入れて更新が入ってた。
- ESLint v9.22.0 released - ESLint - Pluggable JavaScript Linter
- Evolving flat config with extends - ESLint - Pluggable JavaScript Linter
内容を2つに分けると
(1) defineConfigが導入された
- 型安全に設定を扱えるようになった
- 設定をフラットに展開するから
...で展開しなくてよくなった extendsは、なくしたけどやっぱりある方がいいってなって再導入した
tseslint.config でやってたことが defineConfig として導入された形だね。ということで tseslint.config は deprecated になった。
(2) globalIgnoresが導入された
ignores は書き方によってグローバルかローカルかが決まる仕様で分かりにくいなぁって思ってたけど、そういう声が多かったみたいで明示的にグローバルと指定できる関数が用意された。
tsdown
Koriではtsdownを使ってるんだけど、バージョンを最新にあげたらビルドが通らなくなって「はて?」ってなって、みてみたらESMの出力が .d.mts と .mjs になってた。
.mjs じゃなくて .js を使いたいなと思ったので tsdown.config.js に fixedExtension: false を設定しておいた。