🩹
【2025-08-09】ESLintとStylisticのバージョン更新によるリントエラーの発生
前提として、私のプロジェクトの技術スタックは以下のとおり。
- 言語
- TypeScript(
5.9.2
)
- TypeScript(
- ライブラリ
- React(
v19.1.0
)
- React(
- フレームワーク
- Next.js(
v15.3.4
)
- Next.js(
- リンター
- ESLint(
v9.32.0
) - eslint-config-next(
v15.4.6
)
- ESLint(
- フォーマッター
- Stylistic(@stylistic/eslint-plugin)(
v5.2.2
)
- Stylistic(@stylistic/eslint-plugin)(
発生していた問題
Dependabot が自動生成した依存関係更新 PR にて CI が落ちていた。
エラーの内容は以下。
Maximum call stack size exceeded
Occurred while linting /home/runner/work/xxx/xxx.xx:1
Rule: "@stylistic/indent"
Error: Process completed with exit code 1.
元々インデントのエラーなどなく CI をパスしていたコードのはずだが、何故か @stylistic/indent
のルールでエラーが発生するようになっていた。
解決方法
↑ Stylistic 自体のバグ( Stylistic がまだ TypeScript の 5.9 系をサポートできていない)のようなので、取り急ぎ Stylistic(@stylistic/eslint-plugin) のバージョンをダウングレードすることで事なきを得た。当面は Stylistic だけバージョンアップできないかもしれない。
修正前
package.json
"@stylistic/eslint-plugin": "^5.2.2",
修正後
package.json
"@stylistic/eslint-plugin": "^5.1.0",
2025年 9月7日(日) 追記:
TypeScript のバージョンを 5.9
より以前のもので固定するのも暫定対応として有効です。
なお、 5.9
以前のバージョンを指定しているつもりでもバージョン指定に ^
(キャレット)を付けていると 5
系の範囲内で一番最新バージョンの TypeScript がインストールされてしまうので注意してください。
修正前
package.json
"typescript": "^5.8.3",
修正後
package.json
"typescript": "5.8.3",
Discussion