

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `APPSYNC_JS` ランタイムのユーティリティの設定
<a name="utility-resolvers"></a>

AWS AppSync には、 `APPSYNC_JS`ランタイムを使用したリゾルバーの開発に役立つ 2 つのライブラリが用意されています。
+ `@aws-appsync/eslint-plugin` - 開発中に問題を迅速に発見して修正します。
+ `@aws-appsync/utils` - コードエディターで型検証とオートコンプリートを行います。

## eslint プラグインの設定
<a name="utility-resolvers-configuring-eslint-plugin"></a>

[ESLint](https://eslint.org/) は、コードを静的に分析して問題をすばやく見つけるツールです。ESLint は継続的インテグレーションパイプラインの一部として実行できます。`@aws-appsync/eslint-plugin`は、`APPSYNC_JS` ランタイムを利用する際にコード内の無効な構文を検出する ESLint プラグインです。このプラグインを使用すると、変更をクラウドにプッシュしなくても、開発中にコードに関するフィードバックを迅速に得ることができます。

`@aws-appsync/eslint-plugin` には、開発中に使用できる 2 つのルールセットが用意されています。

**"plugin:@aws-appsync/base"** は、プロジェクトで活用できる基本ルールセットを設定します。


| ルール | 説明 | 
| --- | --- | 
| 非同期 | 非同期のプロセスと Promise はサポートされていません。 | 
| no-await | 非同期のプロセスと Promise はサポートされていません。 | 
| no-classes | ルールはサポートされていません。 | 
| no-for | for はサポートされていない (サポートされている for-in および for-of は除く) | 
| no-continue | continue はサポートされていません。 | 
| no-generators | ジェネレータはサポートされていません。 | 
| no-yield | yield はサポートされていません。 | 
| no-labels | ラベルはサポートされていません。 | 
| no-this | this キーワードはサポートされていません。 | 
| no-try | try/catch 構造はサポートされていません。 | 
| no-while | while ループはサポートされていません。 | 
| no-disallowed-unary-operators | \$1\$1、-- および \$1 単項演算子は使用できません。 | 
| no-disallowed-binary-operators | instanceof 演算子は使用できません。 | 
| no-promise | 非同期のプロセスと Promise はサポートされていません。 | 

**"plugin:@aws-appsync/recommended"** にはいくつかの追加のルールがありますが、プロジェクトに TypeScript 構成を追加する必要もあります。


| ルール | 説明 | 
| --- | --- | 
| no-recursion | 再帰的な関数呼び出しは許可されません。 | 
| no-disallowed-methods | 使用できないメソッドもあります。サポートされている組み込み関数の全セットについては、[リファレンス](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference-js.html)を参照してください。 | 
| no-function-passing | 関数を関数の引数として関数に渡すことはできません。 | 
| no-function-reassign | 関数は再割り当てできません。 | 
| no-function-return | 関数を関数の戻り値にすることはできません。 | 

プラグインをプロジェクトに追加するには、「[ESLint 入門](https://eslint.org/docs/latest/user-guide/getting-started#installation-and-usage)」のインストールと使用手順に従ってください。次に、プロジェクトパッケージマネージャー (npm、yarn、pnpm など) を使用してプロジェクトに[プラグイン](https://www.npmjs.com/package/@aws-appsync/eslint-plugin)をインストールします。

```
$ npm install @aws-appsync/eslint-plugin
```

`.eslintrc.{js,yml,json}` ファイルで **"plugin:@aws-appsync/base"**または **"plugin:@aws-appsync/recommended"**を `extends` プロパティに追加します。以下のスニペットは JavaScript の基本的なサンプル `.eslintrc` 設定です。

```
{
  "extends": ["plugin:@aws-appsync/base"]
}
```

 **"plugin:@aws-appsync/recommended"** ルールセットを使用するには、必要な依存関係をインストールします。

```
$ npm install -D @typescript-eslint/parser
```

`.eslintrc.js` ファイルを作成するには

```
{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2018,
    "project": "./tsconfig.json"
  },
  "extends": ["plugin:@aws-appsync/recommended"]
}
```