parseIntのradixにnumberを許さなければいい
予期せぬ parseInt 事故を防ぐ抜本的な解決方法
code:ts
declare global {
function parseInt(str: string, radix: 2|10|16): number;
function parseInt(str: string, ..._: unknown[]): never;
}
そもそもECMAScriptの仕様で 2から36までの整数でなければ無条件に NaN になることが決められている。
そしてアプリケーション中でパースしたい数値の基数などたいてい10か16、時々2くらいだろう。
必要な基数以外は許さない型定義を与えてしまえば、 parseInt はもうほとんど怖くない。