mcpField
M
module-by-module-migration

module-by-module-migration

github.com/marius-townhouse開発647 回インストール39 週間前に更新
リポジトリ

module-by-module-migration について

module-by-module-migrationは、大規模なコードベースやチームでのJavaScriptからTypeScriptへの移行計画を支援するスキルです。依存グラフの葉から上へモジュール単位で変換し、依存先を先に型付けする方法を勧めます。

主な機能

  1. 01依存グラフに沿った移行順序
  2. 02依存のない葉モジュールから開始
  3. 03JavaScriptをモジュール単位で変換
  4. 04上位モジュールより先に依存先を型付け

活用シーン

  1. 01大規模コードベースのTypeScript移行計画
  2. 02ユーティリティとサービスの変換順序の決定
  3. 03チームでの段階的なJavaScript移行の調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marius-townhouse/effective-typescript-skills --skill module-by-module-migration

インストール後、Claude Code で/module-by-module-migrationを入力して読み込まれたか確認します。

詳細

依存関係グラフを下から上へ、モジュールごとに変換する

概要

JavaScript を TypeScript に移行する際は、依存関係グラフに従い、依存関係のないリーフモジュールから始めて上へ進めます。こうすることで、モジュールを変換するときには、その依存先がすべて型付け済みになります。これにより、型エラーを最小限に抑え、移行を管理しやすくできます。

このスキルを使用する場面

  • 大規模なコードベースを TypeScript に移行するとき
  • JavaScript を TypeScript に変換するとき
  • 移行中の依存関係を管理するとき
  • 移行順序を計画するとき
  • チームで TypeScript を導入するとき

鉄則

依存関係のないリーフからモジュールの移行を始め、依存関係グラフを上へ進めます。これにより、依存元より先に依存先が型付けされます。

移行順序

Leaf modules (no dependencies):
  - utils.js → utils.ts
  - constants.js → constants.ts
  - helpers.js → helpers.ts

Middle modules (depend on leaves):
  - api.js → api.ts
  - components.js → components.ts

Entry points (most dependencies):
  - app.js → app.ts
  - index.js → index.ts

例

# 1. Convert utilities first (no dependencies)
# utils.js → utils.ts
# constants.js → constants.ts

# 2. Then services (depend on utilities)
# api.js → api.ts
# store.js → store.ts

# 3. Finally entry points (depend on everything)
# app.js → app.ts
# main.js → main.ts

参考資料

  • Dan Vanderkam 著、『Effective TypeScript』第 2 版
  • 項目 82:依存関係グラフを下から上へ、モジュールごとに変換する

コメント