

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de utilidades para el tiempo de ejecución de `APPSYNC_JS`
<a name="utility-resolvers"></a>

AWS AppSync proporciona dos bibliotecas que ayudan al desarrollo de resolutores con el tiempo de ejecución: `APPSYNC_JS` 
+ `@aws-appsync/eslint-plugin`: identifica y soluciona problemas rápidamente durante el desarrollo.
+ `@aws-appsync/utils`: proporciona la validación de tipos y la función de autocompletar en editores de código.

## Configuración del complemento de eslint
<a name="utility-resolvers-configuring-eslint-plugin"></a>

[ESLint](https://eslint.org/)es una herramienta que analiza estáticamente el código para encontrar problemas rápidamente. Puede ejecutarlo ESLint como parte de su proceso de integración continua. `@aws-appsync/eslint-plugin`es un ESLint complemento que detecta la sintaxis no válida de tu código al aprovechar el `APPSYNC_JS` tiempo de ejecución. El complemento permite recibir comentarios sobre el código de forma rápida durante el desarrollo sin tener que enviar los cambios a la nube.

`@aws-appsync/eslint-plugin` proporciona dos conjuntos de reglas que puede usar durante el desarrollo. 

**"plugin:@aws-appsync/base"** configura un conjunto básico de reglas que puede aprovechar en su proyecto: 


| Regla | Description (Descripción) | 
| --- | --- | 
| no-async | No se admiten promesas ni procesos asíncronos. | 
| no-await | No se admiten promesas ni procesos asíncronos. | 
| no-classes | No se admiten clases. | 
| no-for | No se admite for (excepto para for-in y for-of, que sí se admiten) | 
| no-continue | No se admite continue. | 
| no-generators | No se admiten generadores. | 
| no-yield | yield no se admite. | 
| no-labels | No se admiten etiquetas. | 
| no-this | No se admite la palabra clave this. | 
| no-try | No se admite la estructura try/catch. | 
| no-while | No se admiten los bucles WHILE. | 
| no-disallowed-unary-operators | No se permiten los operadores unarios \$1\$1, -- y \$1. | 
| no-disallowed-binary-operators | No se permite el operador instanceof. | 
| no-promise | No se admiten promesas ni procesos asíncronos. | 

**«plugin: @aws -appsync/recommended»** proporciona algunas reglas adicionales, pero también requiere que TypeScript añadas configuraciones a tu proyecto.


| Regla | Description (Descripción) | 
| --- | --- | 
| no-recursion | No se permiten llamadas a funciones recursivas. | 
| no-disallowed-methods | No se permiten algunos métodos. Consulte la [referencia](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference-js.html) para obtener un conjunto completo de funciones integradas compatibles. | 
| no-function-passing | No se permite pasar funciones como argumentos de la función a funciones. | 
| no-function-reassign | No se pueden reasignar funciones. | 
| no-function-return | Las funciones no pueden ser el valor devuelto de las funciones. | 

[Para añadir el complemento a tu proyecto, sigue los pasos de instalación y uso que se indican en Primeros pasos. ESLint](https://eslint.org/docs/latest/user-guide/getting-started#installation-and-usage) A continuación, instale el [complemento](https://www.npmjs.com/package/@aws-appsync/eslint-plugin) en su proyecto con el administrador de paquetes del proyecto (por ejemplo, npm, yarn o pnpm):

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

En el archivo `.eslintrc.{js,yml,json}`, añada **"plugin:@aws-appsync/base"** o **"plugin:@aws-appsync/recommended"** a la propiedad `extends`. El siguiente fragmento es un ejemplo de `.eslintrc` configuración básica para: JavaScript 

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

Para usar el conjunto de reglas **"plugin:@aws-appsync/recommended"**, instale la dependencia requerida:

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

A continuación, cree un archivo `.eslintrc.js`:

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