メインコンテンツへスキップ
このチュートリアルでは、Droid Execを使用して数百のファイル全体でimport文を同時にリファクタリングする方法を説明します。このスクリプトはインポートを賢く分類、並び替え、最適化し、未使用の依存関係を削除してモジュール形式を変換します。

動作原理

スクリプトは以下の処理を行います:
  1. ファイルを検索: すべての.js.jsx.ts.tsxファイルを検索します
  2. スマートフィルタリング: node_modules.gitdistbuildディレクトリを除外します
  3. インポートをチェック: import文を含むファイルのみを処理します
  4. インポートを分類: 外部、内部、相対インポートに整理します
  5. アルファベット順に並び替え: 各グループ内で一貫性を保ちます
  6. 未使用を削除: 参照されていないインポートを削除します
  7. 構文を現代化: require()をES6 importに変換します
  8. 重複を統合: 同じモジュールからの複数のインポートをマージします

スクリプトを入手

前提条件

開始する前に、Droid Exec installationを完了してください。

基本的な使用方法

変更をプレビュー(ドライラン)

ファイルを変更する前に、変更をプレビューするため必ずドライランから始めます。これにより、適用される変換を把握できます。
ドライラン機能はDRY_RUN環境変数によって制御されます:
ドライランの動作:
  • DRY_RUN=trueの場合:スクリプトは処理が必要なすべてのファイルを検索し、リファクタリングが必要なインポートを持つファイルを表示しますが、ファイルは変更しません
  • DRY_RUN=false(デフォルト)の場合:実際にAIリファクタリングを実行してファイルを変更します
これは以下の場合に特に有用です:
  • 変更を理解するために小さなディレクトリで最初にテストする
  • 大きなコードベースを処理する前に時間/コストを見積もる
  • 変更をコミットする前にスクリプトが正しいファイルを見つけることを確認する

リファクタリングを適用

プレビューに満足したら、実際のリファクタリングを実行します:
実際の実行例:

実世界での変換

例1:CommonJSからES6への変換

例2:重複インポートの統合

ベストプラクティス

安全で効果的なimportリファクタリングのため、これらのベストプラクティスに従ってください。
1

ドライランから始める

ファイルを変更する前に必ず変更をプレビューします:
2

まず小さな範囲でテストする

コードベース全体を処理する前に、特定のサブディレクトリから始めます:
3

段階的に処理する

大規模なコードベースでは、レビューしやすいようにディレクトリを分けて処理します: