as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

Vega ESLintプラグインを使用してパフォーマンスの問題を検出する方法

Vega ESLintプラグインを使用してパフォーマンスの問題を検出する方法

eslint-plugin-keplerは、Vegaアプリ用の自動リンティングルールを提供して、パフォーマンスの問題の検出と修正を支援します。

プラグインのインストールと構成

  1. Vega ESLintプラグインをインストールします。

    クリップボードにコピーしました。

    npm install --save-dev @amazon-devices/eslint-plugin-kepler
    
  2. プロジェクトでESLintを構成します。
    1. .eslintrc構成ファイルのextendspluginsを更新します。

      クリップボードにコピーしました。

      {
      "extends": [
               "@react-native",
               "eslint:recommended",
               "plugin:@amazon-devices/eslint-plugin-kepler/performance" // 拡張機能追加します。
      ],
      "plugins": [
               "@typescript-eslint", 
               "@amazon-devices/kepler" //プラグイン含めます。
      ],
      "parserOptions": {
               "project": "./tsconfig.json" 
      },
      "parser": "@typescript-eslint/parser"
      }
      
    2. (任意)ESLintドキュメントのConfigure Rules(英語のみ)で説明されているように、要件に合わせてLintのルールをカスタマイズできます。このプラグインで提供されるすべてのルールについては、ESLintのルールを参照してください。

    3. package.jsonでカスタムフォーマッターを指定します。

      クリップボードにコピーしました。

      {
      "scripts": {
         :
         "lint": "eslint src test --ext .ts,.tsx --format node_modules/@amazon-devices/eslint-plugin-kepler/dist/formatters/default.js",
         :
         }
      }
      
  3. リンターを実行します。

    クリップボードにコピーしました。

     npm run lint
    

    結果はコンソールで確認できます。

    リンターの実行後のコマンドプロンプト出力を示す画像
    リンターの実行後の結果が表示されたコンソール

    リンターは、コンソール出力に加えてHTMLレポートも生成します。

    Vegaプロジェクトに対するESLintの分析レポートを示す画像。パフォーマンスに関する警告が2つ表示されています。1つは描画完了までの時間の指標を測定するためのuseReportFullyDrawn()の実装がないこと、もう1つはスプラッシュ画面を最適化するためのusePreventHideSplashScreen()がないことを示す警告です。このレポートは、コードベースに重大なエラーがないことを示しています。
    VegaのESLintパフォーマンスレポート

    VS Codeでは、コードの編集中にこれらのリンターの警告を確認できます。

    VS Codeでのリンターの警告を示す画像
    リンターの警告

ESLintのルール

ルール名 デフォルトの重大度 説明 ベストプラクティス
@amazon-devices/kepler/flat-list 警告 - 問題が報告されますが、ビルドは失敗しません。 FlatList要素に十分なプロパティが設定されているかどうかをチェックします。 FlatList
@amazon-devices/kepler/check-subscription 警告 - 問題が報告されますが、ビルドは失敗しません。 useAddVegaAppStateListenerCallbackとuseAddUserInputListenerCallbackによってインストールされたコールバックが正しく登録解除されているかどうかをチェックします。 リスナー、イベントサブスクリプション、タイマー
@amazon-devices/kepler/animated エラー - 問題が報告され、ビルドは失敗します。 Animated要素のコンポーネントでネイティブドライバーが使用されているかどうかをチェックします。 Animatedライブラリ
@amazon-devices/kepler/detect-report-fully-drawn 警告 - 問題が報告されますが、ビルドは失敗しません。 useReportFullyDrawn()が正しく呼び出されているかどうかをチェックします。 描画完了マーカー
@amazon-devices/kepler/detect-splash-screen 警告 - 問題が報告されますが、ビルドは失敗しません。 usePreventHideSplashScreen()とuseHideSplashScreenCallback()が正しく呼び出されているかどうかをチェックします。 SplashScreenManager

Last updated: 2025年9月30日