noimplicitany-completion について
`noImplicitAny` の有効化と暗黙の `any` 型の解消を、移行完了に必要な手順とする TypeScript スキルです。TypeScript 導入やコンパイラー設定を仕上げる開発者向けです。
主な機能
- 01`noImplicitAny` の有効化
- 02暗黙の `any` 型の解消
- 03厳格なコンパイラー設定の確認
- 04TypeScript 移行の完了
活用シーン
- 01TypeScript 移行の完了
- 02厳格なチェック向けの `tsconfig` 設定
- 03コードベースの型安全性向上
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ marius-townhouse/ effective-typescript-skills --skill noimplicitany-completionインストール後、Claude Code で/noimplicitany-completionを入力して読み込まれたか確認します。
詳細
noImplicitAny を有効にするまで、移行完了と見なさないでください
概要
noImplicitAny は、TypeScript の型安全性の要です。無効になっていると、TypeScript は型を推論できないとき、変数に暗黙的に any 型を割り当てます。これでは TypeScript を使う意味がありません。noImplicitAny を有効にし、暗黙的な any をすべて解消するまで、移行完了と見なさないでください。
このスキルを使用する場面
- TypeScript への移行を仕上げるとき
- strict モードを有効にするとき
- tsconfig の設定を最終調整するとき
- 型安全性を確保するとき
- TypeScript の導入を完了するとき
絶対に守るべきルール
TypeScript への移行を完了するには、noImplicitAny を有効にしてください。完全な型安全性を実現するため、暗黙的な any をすべて解消してください。
例
// With noImplicitAny: false (default during migration)
function parse(data) {
// data is implicitly any - no error!
return data.json();
}
// With noImplicitAny: true
function parse(data) {
// Error: Parameter 'data' implicitly has an 'any' type
return data.json();
}
// Fixed with explicit type
function parse(data: string): unknown {
return JSON.parse(data);
}
strict モードを有効にする
{
"compilerOptions": {
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"alwaysStrict": true
}
}
参考資料
- Dan Vanderkam 著『Effective TypeScript』第 2 版
- 項目 83:noImplicitAny を有効にするまで、移行完了と見なさないでください
コメント
Markdown 対応