Vega ESLintプラグインのインストールと設定
Vega ESLintプラグイン(eslint-plugin-kepler)は、Vegaアプリ用の自動リンティングルールを提供して、パフォーマンスと互換性に関する問題の検出と修正を支援します。
前提条件
プラグインとその依存関係をインストールします。
npm install --save-dev @amazon-devices/eslint-plugin-kepler jsonc-eslint-parser
プラグインの構成
-
.eslintrc構成ファイルのextends、plugins、overridesの各セクションを更新します。{ "extends": [ "@react-native", "eslint:recommended", "plugin:@amazon-devices/eslint-plugin-kepler/kepler" // 拡張機能を追加します。 ], "plugins": [ "@typescript-eslint", "@amazon-devices/kepler" //プラグインを含めます。 ], "overrides": [ { "files": ["**/*.ts", "**/*.tsx"], "parser": "@typescript-eslint/parser", "parserOptions": { "project": "./tsconfig.json" }, { "files": ["package.json"], "parser": "jsonc-eslint-parser" // このパーサーはpackage.jsonをチェックするために必要です。 } ] }プラグインの構成には以下が含まれます。
performance- パフォーマンス関連ルールのみsystem-distributed-libs- システム分散ライブラリチェックのみ(package.jsonの検証とインポートの情報フラグ)
performanceとsystem-distributed-libsは、両方を同時に使用しても同じ結果を得ることができます。module.exports = { plugins: ["@amazon-devices/eslint-plugin-kepler"], extends: [ "plugin:@amazon-devices/eslint-plugin-kepler/performance", "plugin:@amazon-devices/eslint-plugin-kepler/system-distributed-libs" ], } -
(任意)ESLintのConfigure Rulesガイドに従ってLintルールをカスタマイズします。
Vega ESLintプラグインで提供されるルールについては、パフォーマンスのルールについてを参照してください。
-
package.jsonでカスタムフォーマッターを指定します。{ "scripts": { : "lint": "eslint src test package.json --ext .ts,.tsx --format node_modules/@amazon-devices/eslint-plugin-kepler/dist/formatters/default.js", : } } -
リンターを実行します。
npm run lint結果はコンソールで確認できます。
リンターの実行後の結果が表示されたコンソール リンターはHTMLレポートも生成します。
VegaのESLintパフォーマンスレポート VS Codeでは、コードの編集中にこれらのリンターの警告を確認できます。
リンターの警告
パフォーマンスのルールについて
次のルールを使用すると、Vegaアプリの一般的なパフォーマンス問題を特定し、最適なランタイムパフォーマンスを実現するためのベストプラクティスを実施できます。
| ルール名 | デフォルトの重大度 | 説明 | ベストプラクティス |
|---|---|---|---|
| @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 |
システム分散ライブラリのルールについて
次のルールは、システム分散ライブラリの使用状況を検出し、適切な実装のためのガイドを提供します。
| ルール名 | デフォルトの重大度 | 説明 |
|---|---|---|
| @amazon-devices/kepler/sdl-package-version-check | エラー | package.jsonのシステム分散ライブラリの依存関係が、適切なセマンティックバージョニングを使用していることを検証します。 |
| @amazon-devices/kepler/sdl-package-version-check-imports | 警告 | システム分散ライブラリのインポートにフラグを設定して、標準のReact Nativeライブラリとは動作が異なることに注意を促します。 |
(任意)セマンティックバージョンのガイダンスの構成
システム分散ライブラリのルールでは、package.jsonの依存関係のセマンティックバージョニングを確認します。デフォルトでは、プラグインは自動モードを使用してプロジェクトのバージョニング設定を検出します。
デフォルトをオーバーライドするには、semverGuidanceオプションを設定します。
- パッチのみモード(
semverGuidance: "patch"):~プレフィックスを使用するパッチのみにアップデートを制限します。 - マイナーおよびパッチモード(
semverGuidance: "minor"):^プレフィックスを使用してマイナーアップデートを許可します。 - 自動モード(
semverGuidance: "auto"): プロジェクトリポジトリ内のプロジェクト署名に基づいて設定を検出します。これがデフォルトです。
パッチのみモードを使用した構成例:
module.exports = {
plugins: ["@amazon-devices/eslint-plugin-kepler"],
rules: {
"@amazon-devices/kepler/sdl-package-version-check": [
"error",
{ semverGuidance: "patch" },
], // 「auto」がデフォルトです
"@amazon-devices/kepler/sdl-package-version-check-imports": [
"warn",
{ semverGuidance: "patch" },
],
},
};
(任意)JSON検証用のVS Codeの構成
VS Codeのpackage.jsonでエラーや警告を確認したい場合は、jsonを次のsettings.jsonエントリに追加してください。
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
// 以下の行を追加します
"json"
],
"eslint.probe": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
// 以下の行を追加します
"json"
],
関連トピック
Last updated: 2026年1月14日

