

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de utilitários para o runtime do `APPSYNC_JS`
<a name="utility-resolvers"></a>

AWS AppSync fornece duas bibliotecas que auxiliam no desenvolvimento de resolvedores com o `APPSYNC_JS` tempo de execução: 
+ `@aws-appsync/eslint-plugin`: detecta e corrige problemas rapidamente durante o desenvolvimento.
+ `@aws-appsync/utils`: fornece validação de tipo e preenchimento automático em editores de código.

## Configurar o plug-in eslint
<a name="utility-resolvers-configuring-eslint-plugin"></a>

[ESLint](https://eslint.org/)é uma ferramenta que analisa estaticamente seu código para encontrar problemas rapidamente. Você pode executar ESLint como parte do seu pipeline de integração contínua. `@aws-appsync/eslint-plugin`é um ESLint plug-in que captura a sintaxe inválida em seu código ao aproveitar o tempo de execução. `APPSYNC_JS` O plug-in permite que você receba rapidamente feedback sobre seu código durante o desenvolvimento sem precisar enviar suas alterações para a nuvem.

`@aws-appsync/eslint-plugin` fornece dois conjuntos de regras que você pode usar durante o desenvolvimento. 

**“plugin:@aws-appsync/base”** configura um conjunto básico de regras que você pode aproveitar no seu projeto: 


| Rule | Description | 
| --- | --- | 
| no-async | Promessas e processos assíncronos não são compatíveis. | 
| no-await | Promessas e processos assíncronos não são compatíveis. | 
| no-classes | Classes não são compatíveis. | 
| no-for | for não é compatível (exceto para for-in e for-of, que são aceitos) | 
| no-continue | Não há suporte ao continue. | 
| no-generators | Geradores não são compatíveis. | 
| no-yield | Não há suporte ao yield. | 
| no-labels | Rótulos não são compatíveis. | 
| no-this | A palavra-chave this não é compatível. | 
| no-try | A estrutura try/catch não é compatível. | 
| no-while | Loops While não são compatíveis. | 
| no-disallowed-unary-operators | Operadores unários \$1\$1, -- e \$1 não são compatíveis. | 
| no-disallowed-binary-operators | O operador instanceof não é compatível. | 
| no-promise | Promessas e processos assíncronos não são compatíveis. | 

**“plugin: @aws -appsync/recommended”** fornece algumas regras adicionais, mas também exige que você adicione TypeScript configurações ao seu projeto.


| Rule | Description | 
| --- | --- | 
| no-recursion | Chamadas de função recursivas não são compatíveis | 
| no-disallowed-methods | Alguns métodos não são compatíveis. Consulte a [referência](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference-js.html) para obter um conjunto completo de funções integradas compatíveis. | 
| no-function-passing | Não é permitido enviar funções como argumentos de função para funções. | 
| no-function-reassign | As funções não podem ser reatribuídas. | 
| no-function-return | As funções não podem ser o valor de retorno das funções. | 

Para adicionar o plug-in ao seu projeto, siga as etapas de instalação e uso em [Introdução ao ESLint](https://eslint.org/docs/latest/user-guide/getting-started#installation-and-usage). Em seguida, instale o [plug-in](https://www.npmjs.com/package/@aws-appsync/eslint-plugin) no seu projeto usando o gerenciador de pacotes do projeto (por exemplo, npm, yarn ou pnpm):

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

No seu arquivo `.eslintrc.{js,yml,json}`, adicione **“plugin:@aws-appsync/base”** ou **“plugin:@aws-appsync/recommended**” à propriedade `extends`. O trecho abaixo é um exemplo básico de `.eslintrc` configuração para: JavaScript 

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

Para usar o conjunto de regras **“plugin:@aws-appsync/recommended”**, instale a dependência necessária:

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

Depois, crie um arquivo `.eslintrc.js`:

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