

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengkonfigurasi utilitas untuk runtime `APPSYNC_JS`
<a name="utility-resolvers"></a>

AWS AppSync menyediakan dua pustaka yang membantu dalam pengembangan resolver dengan runtime: `APPSYNC_JS` 
+ `@aws-appsync/eslint-plugin`- Menangkap dan memperbaiki masalah dengan cepat selama pengembangan.
+ `@aws-appsync/utils`- Menyediakan validasi tipe dan pelengkapan otomatis di editor kode.

## Mengkonfigurasi plugin eslint
<a name="utility-resolvers-configuring-eslint-plugin"></a>

[ESLint](https://eslint.org/)adalah alat yang menganalisis kode Anda secara statis untuk menemukan masalah dengan cepat. Anda dapat menjalankan ESLint sebagai bagian dari pipeline integrasi berkelanjutan Anda. `@aws-appsync/eslint-plugin`adalah ESLint plugin yang menangkap sintaks yang tidak valid dalam kode Anda saat memanfaatkan runtime. `APPSYNC_JS` Plugin ini memungkinkan Anda untuk dengan cepat mendapatkan umpan balik tentang kode Anda selama pengembangan tanpa harus mendorong perubahan Anda ke cloud.

`@aws-appsync/eslint-plugin`menyediakan dua set aturan yang dapat Anda gunakan selama pengembangan. 

**“plugin: @aws -appsync/base”** mengonfigurasi seperangkat aturan dasar yang dapat Anda manfaatkan dalam proyek Anda: 


| Aturan | Deskripsi | 
| --- | --- | 
| tidak-asinkron | Proses dan janji asinkron tidak didukung. | 
| tidak-menunggu | Proses dan janji asinkron tidak didukung. | 
| tidak ada kelas | Kelas tidak didukung. | 
| tidak-untuk | fortidak didukung (kecuali untuk for-in danfor-of, yang didukung) | 
| tidak lanjutkan | continue tidak didukung. | 
| tidak ada generator | Generator tidak didukung. | 
| tanpa hasil | yield tidak didukung. | 
| tanpa label | Label tidak didukung. | 
| tidak-ini | thisKata kunci tidak didukung. | 
| tidak mencoba | Struktur coba/tangkap tidak didukung. | 
| tidak-sementara | Sementara loop tidak didukung. | 
| no-disallowed-unary-operators | \$1\$1,--, dan operator \$1 unary tidak diizinkan. | 
| no-disallowed-binary-operators | instanceofOperator tidak diperbolehkan. | 
| tidak ada janji | Proses dan janji asinkron tidak didukung. | 

**“plugin: @aws -appsync/recommended”** menyediakan beberapa aturan tambahan tetapi juga mengharuskan Anda untuk menambahkan TypeScript konfigurasi ke proyek Anda.


| Aturan | Deskripsi | 
| --- | --- | 
| tidak ada rekursi | Panggilan fungsi rekursif tidak diperbolehkan. | 
| no-disallowed-methods | Beberapa metode tidak diperbolehkan. Lihat [referensi](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference-js.html) untuk set lengkap fungsi bawaan yang didukung. | 
| no-function-passing | Melewati fungsi sebagai argumen fungsi ke fungsi tidak diperbolehkan. | 
| no-function-reassign | Fungsi tidak dapat dipindahkan. | 
| no-function-return | Fungsi tidak dapat menjadi nilai kembali fungsi. | 

Untuk menambahkan plugin ke proyek Anda, ikuti langkah-langkah instalasi dan penggunaan di [Memulai dengan ESLint](https://eslint.org/docs/latest/user-guide/getting-started#installation-and-usage). Kemudian, instal [plugin](https://www.npmjs.com/package/@aws-appsync/eslint-plugin) di proyek Anda menggunakan manajer paket proyek Anda (misalnya, npm, yarn, atau pnpm):

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

Di `.eslintrc.{js,yml,json}` file Anda, tambahkan **“plugin: @aws -appsync/base” atau **“plugin: @aws -appsync/recommended**”** ke properti. `extends` Cuplikan di bawah ini adalah `.eslintrc` konfigurasi sampel dasar untuk: JavaScript 

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

Untuk menggunakan set aturan **“plugin: @aws -appsync/recommended”**, instal ketergantungan yang diperlukan:

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

Kemudian, buat `.eslintrc.js` file:

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