ESLint는 보다 좋은 품질의 자바스크립트 코드를 작성하기 위한 일종의 코드 스타일 가이드다.
작성된 코드의 구문을 분석하여 버그가 발생할 여지가 있거나, 불필요한 코드, 혹은 보안상 위험한 코드 등에 대한 경고를 띄워준다.
https://eslint.org/docs/latest/user-guide/getting-started
일반적으로 다음과 같은 경고 문구들을 만나게 된다.
foo
is assigned a value but never used (no-unused-vars)**bar
is not defined. (no-undef)**eval()
은 가급적 사용하지 않음https://prettier.io/
앞서 설명한 ESLint는 코드 자체의 문법 교정과 더불어 코드 스타일링 기능도 포함하고 있다.
그러나 Prettier는 자동으로 코드의 스타일을 맞춰주는 보다 강력한 기능을 지원하고 있기 때문에 빈번히 ESLint와 함께 사용되고 있다.
때문에 일반적으로 Lintting 기능은 ESLint에, Code Formatting은 Prettier에 일임하는 방식으로 사용한다.
ESLint와 Prettier를 설치하는 몇 가지 방법이 있다. 크게 VSCode Extention과 NPM Package로 설치하는 방법이다. 팀원 각자 모두 설치함으로써 동일한 개발환경으로 구성 후 작업하면 프로젝트 진행 시 편리하다.
다음과 같은 이유로 Extention과 NPM Package로 모두 설치할 것을 권장한다.
eslint-plugin-prettier
, eslint-config-prettier
를 함께 설치해서 사용할 것 (eslint formatting rules와 prettier rules가 충돌하기 때문, 공식 문서에서도 권장하는 방식).eslintrc
, .prettierrc
등의 설정파일을 활용하기 위해// package.json
"eslintConfig": {
"extends": "react-app"
}
npm install -D prettier eslint-config-prettier eslint-plugin-prettier