node-typescript について
コードの利用形態に合わせ、明示的なコンパイラー設定を行う TypeScript 向けスキルです。ライブラリとアプリの設定、型チェックのゲート、段階的な strict 化を扱います。
主な機能
- 01明示的な tsconfig オプション
- 02ライブラリとアプリの設定ガイド
- 03型チェック用スクリプトと CI ゲート
- 04段階的な strict 化計画
- 05宣言ファイル出力の指針
活用シーン
- 01利用者向け Node パッケージの設定
- 02バンドルアプリ向け TypeScript の設定
- 03既存コードベースで strict チェックを段階的に有効化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ paldom/ node-skills --skill node-typescriptインストール後、Claude Code で/node-typescriptを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonreferences/tsconfig-playbook.md
詳細
node-typescript
コードの消費方法に対して明示的、厳格、かつ適切な TypeScript 設定を生成します。このスキルで解決する問題は、TypeScript のメジャーバージョン間で暗黙のデフォルト値が変わった tsconfig をモデルがコピーすること、バンドルしない Node パッケージに bundler 解決を選んで利用側で問題を起こすこと、そして大規模なコードベース全体の strict モードをレビューできない一括変更で有効にすることです。
使用しない場合
- Lint/フォーマットのルール →
node-lint。 - バンドルと
exportsマップ/利用側の型解決 →node-packaging(このスキルは宣言の出力を担当し、パッケージング用スキルは利用側での解決方法を担当します)。 - テストランナーの TypeScript サポート →
node-testing。
ワークフロー
- まず明示的な設定の原則を徹底します。 生成されたデフォルト値やバージョン依存のデフォルト値には決して頼らないでください。TypeScript のメジャーバージョンによって変更されているためです。重要なオプションはすべて、
references/tsconfig-playbook.mdの設定ブロックに従って明記します。 - 流行ではなく、コードの消費方法に基づいて選択します。
- 公開する/バンドルしない Node パッケージ →
nodenextファミリーのmodule/moduleResolution、verbatimModuleSyntax、declaration+declarationMap、API の範囲が許す場合はisolatedDeclarations(並列処理が可能で、ツールに依存しない宣言出力)。 - バンドルするアプリのコード →
noEmitを指定したbundler解決(出力はバンドラーが行います)。
- 公開する/バンドルしない Node パッケージ →
- ゲートを設けます。スクリプトと CI ジョブ(接続方法 →
node-ci)でtsc --noEmit(プロジェクト参照の場合は-b)を実行します。 - 既存のコードベースを段階的に厳格化します。一括切り替えではなく、まずエラーの範囲を測定し、フラグごとまたはディレクトリごとにフラグを順次有効にして、新たなエラーを許さないルールで CI を通過させ続けます。順序はプレイブックを参照してください。
- 検証します。
tsc --noEmitがエラーなく完了することを確認します。公開パッケージでは、宣言が出力されることを確認し、利用側の解決検証はnode-packagingのゲートに任せます。
出力仕様
重要なオプションをすべて明記した tsconfig、型チェック用スクリプトと CI ゲート、ライブラリではマップ付きの宣言出力、モジュール/解決方法を選んだ理由の文書化、および該当する場合は測定可能なチェックポイントを含む段階的な厳格化計画。
注意点
- Node から直接利用するパッケージで
bundler解決を使うと、ローカルでは型チェックに通っても、利用側では問題が発生します。必ずコードの消費方法に基づいて選択してください。 verbatimModuleSyntaxを有効にすると、型のみのインポートではimport typeが必須になり、CJS 出力のデフォルトエクスポートにも制約が加わります。コードモッドの適用と同時に有効にしてください。isolatedDeclarationsでは、エクスポートする API に明示的な戻り値の型が必要になります。ライブラリには適していますが、アプリでは煩雑になるため、アプリの設定に考えなしに追加しないでください。- TypeScript 7(ネイティブコンパイラー、2026 年 7 月に GA)は
typescript@latestがインストールするバージョンです。明示的なtsconfigとの互換性は保たれますが、6.0 で非推奨となった設定(baseUrl、target: es5、moduleResolution: classic)は 7 では致命的なエラーになります。プレイブックに該当項目と、API に依存するツール向けの@typescript/typescript6フォールバックが記載されています。 - バージョンゲート:TypeScript のメジャーバージョンが変わるたびに、公式の TSConfig リファレンスでデフォルト値とフラグの動作を再確認してください。
ファイル
references/tsconfig-playbook.md— 明示的な設定ブロック(ライブラリ/アプリ)、nodenext と bundler の選択方法、段階的な厳格化、検証コマンド。
コメント
Markdown 対応