

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# `APPSYNC_JS` 런타임의 유틸리티 구성
<a name="utility-resolvers"></a>

AWS AppSync 는 `APPSYNC_JS` 런타임으로 해석기를 개발하는 데 도움이 되는 두 개의 라이브러리를 제공합니다.
+ `@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`은 개발 중에 사용할 수 있는 두 가지 규칙 세트를 제공합니다.

**"plugin:@aws-appsync/base"**는 프로젝트에서 활용할 수 있는 다음 기본 규칙 세트를 구성합니다.


| 규칙 | 설명 | 
| --- | --- | 
| no-async | 비동기식 프로세스 및 약속은 지원되지 않습니다. | 
| no-await | 비동기식 프로세스 및 약속은 지원되지 않습니다. | 
| 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 | 비동기식 프로세스 및 약속은 지원되지 않습니다. | 

**"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}` 파일에서 `extends` 속성에 **"plugin:@aws-appsync/base"** 또는 **"plugin:@aws-appsync/recommended"**를 추가합니다. 아래 코드 조각은 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"]
}
```