メインコンテンツへスキップ
このチュートリアルでは、Droid Execを使用してコードベース全体のESLint違反を自動修正する方法を説明します。このスクリプトは、lint エラーのあるファイルを特定し、機能を保持しながらインテリジェントに修正します。
このアプローチは、単純なフォーマット問題から複雑なアーキテクチャパターンまで、あらゆるESLintルールで機能します。

動作原理

このスクリプトは以下のように動作します:
  1. 違反を検出: ESLintを実行してmiddlewareが不足している全てのroute.tsファイルを特定
  2. コンテキストを分析: ルートパスに基づいて適切なmiddlewareタイプを決定
  3. middlewareを追加: 最初のステートメントとして正しいhandle*Middleware呼び出しを挿入
  4. ロジックを保持: 既存のコードをmiddlewareコールバック内にラップ
  5. 型を維持: TypeScript型が正しく保持されるようにする
  6. コードをフォーマット: 一貫したコードスタイルを維持

スクリプトの取得

成功の鍵: このスクリプトを独自のlintルール向けにカスタマイズする場合は、Droid Execに渡すプロンプトに具体的な変更前/変更後の例を必ず含めてください。精度が大幅に向上します。良いプロンプト構成:
  1. 修正する違反を説明する
  2. 違反を含む「変更前」のコード例を示す
  3. 修正適用後の「変更後」のコード例を示す
  4. 保持すべきエッジケースやパターンを列挙する
例が具体的であるほど、Droidは修正パターンをより正確に理解して実装できます。

前提条件

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

基本的な使用方法

違反のプレビュー(ドライラン)

変更前に、修正が必要なファイルを確認するため必ずドライランから始めます。
ドライランでは、middlewareルールに違反しているファイルと追加されるmiddlewareのタイプが表示されます:
ドライランの動作原理:
  • DRY_RUN=trueの場合:違反を特定し、追加されるmiddlewareタイプを表示
  • DRY_RUN=false(デフォルト)の場合:middlewareを追加して違反を実際に修正
これにより以下のことが可能になります:
  • どのルートにmiddlewareが不足しているかを理解
  • 正しいmiddlewareタイプが使用されることを確認
  • 変更の範囲を見積もり

修正の適用

準備ができたら、実際の修正を実行します:

実際の変換例

例1:シンプルなGETハンドラー

ミドルウェアが不足 - 認証チェックがありません!

例2:Cronジョブハンドラー

認可なしのcronジョブ - 誰でもトリガーできてしまいます!

ベストプラクティス

安全で効果的なミドルウェア追加のため、これらのベストプラクティスに従ってください。
1

ドライランから始める

適用前に変更をプレビューします:
2

アプリごとに処理する

レビューしやすくするため、一度に1つのアプリケーションを修正します: