반응형
ESLint를 돌리는데 Parsing error: Unexpected token 라는 에러가 계속 떴습니다.
알아보니 ESLint의 기본 parser는 Espree로, 기본적으로 ECMA 버전이 5로 설정되어있기 때문에 그 이후 문법이나 Typescript 문법은 parse하면서 에러를 뿜을 수 있다고 합니다.
.eslintrc 파일을 만들어서,
{
"parser": "babel-parser"
}
위 코드를 작성해 parser를 babel parser로 설정해주면 최신 ECMA 버전을 사용할 수 있습니다. 일반적으로는 이것만 추가하면 해결이 됩니다.
그런데 babel-parser는 Typescript 문법은 해석을 못 하는 것 같습니다. 저같은 경우에는 babel-parser로 parser를 바꾸어도 Typescript에서 타입을 단언하는 'as' 구문에서 오류가 났고 작업 특성상 타입 단언을 사용하지 않을 수 없었기 때문에 한참 검색하다가 typescript-eslint를 발견했습니다.
$ npm install --save-dev @typescript-eslint/parser
{
"extends": [
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"overrides": [
{
"files": ["*.js", "*.jsx"],
"rules": {
"@typescript-eslint/explicit-function-return-type": "off"
}
}
]
}
typescript eslint parser를 설치해 준 후 .eslintrc 파일을 위처럼 적어 주면 에러가 뜨지 않습니다.
반응형
'Memo' 카테고리의 다른 글
[TIL] 아이폰에서 사진 업로드가 안 돼요! (0) | 2022.12.05 |
---|---|
[VS Code] prettier extention이 갑자기 적용이 안 될 때 (1) | 2020.10.23 |
댓글