ESlint 란 무엇인가요?
ESlint 는 ES (ECMAScript) + Lint (에러 코드 표식) 을 조합한 단어로 코드에 특정한 스타일을 적용해서 사전에 문제가 발생하지 않도록 예방할 수 있게 도와주는 정적 분석 툴입니다.
ESlint 를 사용하면 다양한 플러그인들을 사용해 규칙들을 추가하고 사용자의 설정에 맞게 커스텀 하는것이 가능합니다. 이를 미리 정해놓고 개발을 시작하면, 그룹간의 같은 환경에서 개발을 진행할 수 있다는 장점이 있습니다.
대부분의 협업에서는 먼저 ESlint 부터 설치하고 규칙들을 미리 정해놓는것부터 시작합니다. 따라서 ESlint 를 미리 사용해보는것은 추후에 진행할 프로젝트에 대비하기 좋은 경험이 될 수 있습니다.
ESlint 설치해보기
ESlint 설치의 공식문서에서 간단하게 ESlint 를 시작하는 방법을 자세히 알려주고 있습니다. 기본적이고 간단한 내용을 확인하실 수 있으니 한 번 살펴보는것을 추천해드립니다. 저는 아래와 같이 설치를 진행해보도록 하겠습니다.
먼저 터미널로 이동해서 npm 을 init 해줍니다. 여기서 -y 를 같이 입력해주면 번거롭게 yes 를 입력하지 않고 빠르게 설치를 진행할 수 있습니다.
npm init -y
명령어를 실행하면 아래와 같이 진행되고 vscode 에서 package.json 파일이 만들어진 것을 볼 수 있습니다.
이제 eslint 를 설치해보도록 하겠습니다. 외부에 공개되어 많은 개발자들이 사용하는 Airbnb Style Guide 를 사용해서 ESlint 스타일 가이드를 적용해보도록 하겠습니다.
또한 -D 를 같이 입력해주면 devDependency, 즉 현재 개발환경에서만 설정을 사용할 수 있습니다. 만약 global 로 설치를 하시게 되면 이후에 진행할 별개의 프로젝트에서 정해놓은 규칙을 사용하는데 문제가 될 수 있으니 프로젝트 별로 설정을 해주는것이 좋습니다.
따라서 -D 를 사용해서 현재 프로젝트에서 의존성을 가지도록 설치해보겠습니다. 아래와 같이 입력해주세요.
npm i -D eslint eslint-config-airbnb-base babel-eslint eslint-config-prettier
설치가 완료된 후에 package.json 파일에 들어가보면 아래처럼 설정이 완료된것을 볼 수 있습니다.
이후에 eslintrc.json 파일을 만들어줍니다. eslintrc.josn 파일을 통해서 다양한 규칙들을 추가하는 것이 가능합니다. 아래 코드는 제가 사용하는 ESlint 설정으로 무난하게 사용하실 수 있어 복사 붙여넣기 하셔도 무방합니다.
{
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 11
},
"env": {
"browser": true,
"node": true,
"jest": true
},
"extends": ["airbnb-base", "prettier"],
"rules": {
"no-console": "warn",
"no-plusplus": "off",
"no-shadow": "off",
"vars-on-top": "off",
"no-underscore-dangle": "off", // var _foo;
"func-names": "off", // setTimeout(function () {}, 0);
"prefer-arrow-callback": "error", // Require using arrow functions for callbacks
"prefer-template": "off",
"no-nested-ternary": "off",
"max-classes-per-file": "off",
"wrap-iife": ["error", "inside"],
"arrow-parens": ["error", "as-needed"], // a => {}
"no-restricted-syntax": [0, "ForOfStatement"], // disallow specified syntax(ex. WithStatement)
"no-param-reassign": ["error", { "props": false }],
"require-await": "error",
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }]
}
}
이후에 아래와 같이 코드를 입력하고 확인했을때 설치한 airbnb 스타일 가이드에 맞지 않은 경우 에러메세지를 보여주게 됩니다.
이를 통해 같은 규칙을 적용한 환경에서 협업이 가능합니다.
마무리
이번 게시글에서는 ESlint 에 대해서 알아보고 직접 설치해보고 사용해보았습니다. ESlint 를 사용하면 다른 개발자들과 같은 환경에서 코딩하는 것이 가능합니다. 또한 코드의 스타일을 자동으로 검사하는 것이 가능하며 미리 문제 발생을 예방하는 것 또한 가능합니다. 자세한 규칙은 ESLint 공식 문서에서 확인이 가능합니다. 글 읽어주셔서 감사합니다!
'자바스크립트 > 프레임워크' 카테고리의 다른 글
ESlint 적용이 안되는 경우 해결법 (0) | 2021.06.07 |
---|