ESLint

박기찬·2023년 7월 16일
0

Web tech

목록 보기
7/9

ESLint는 자바스크립트 코드의 정적 분석을 수행하는 도구로, 코드의 일관성, 오류, 코딩 스타일, 보안 문제 등을 식별하여 개발자에게 피드백을 제공합니다. 이 포스팅에서는 ESLint의 개요와 주요 기능에 대해 알아보고, 프로젝트에 ESLint를 설정하는 방법을 설명하겠습니다.

ESLint는 코딩 컨벤션에 위배되는 코드나 안티 패턴을 자동 검출하는 도구입니다. 다양하고 많은 프로젝트에서 ESLint를 사용하여 코드에 문제가 없는는지를 검사합니다.

주요 기능

1. 코드 스타일 검사

ESLint는 다양한 코딩 스타일 규칙을 지원하여 코드의 일관성을 유지하고 가독성을 향상시킬 수 있습니다. 들여쓰기, 세미콜론 사용, 따옴표 스타일 등의 스타일 규칙을 설정하고, ESLint가 코드를 검사하여 스타일 규칙을 준수하지 않는 부분을 식별합니다.

2. 버그와 잠재적인 오류 검사

ESLint는 코드를 정적으로 분석하여 일반적인 버그와 잠재적인 오류를 식별합니다. 잘못된 변수 사용, 잘못된 함수 호출, 잠재적인 예외 상황 등을 감지하고 개발자에게 알려줌으로써 코드의 안정성을 향상시킵니다.

3. 보안 문제 검사

ESLint는 코드에서 흔히 발생하는 보안 문제를 검사합니다. XSS(Cross-Site Scripting) 공격, SQL 인젝션, CSRF(Cross-Site Request Forgery) 공격 등과 관련된 취약점을 찾아내고, 개발자에게 경고를 제공하여 보안 취약성을 최소화합니다.

4. 확장 가능한 규칙과 플러그인

ESLint는 다양한 확장 가능한 규칙과 플러그인을 제공하여 프로젝트에 맞게 규칙을 구성할 수 있습니다. 사용자 정의 규칙을 작성하거나, 기존 규칙을 수정하고 비활성화하는 등의 유연한 설정이 가능합니다.


사용법

  1. ESLint 설치
    프로젝트 루트 디렉토리에서 다음 명령을 실행하여 ESLint를 설치합니다
cd <my-project>
npm install eslint --save-dev
  1. ESLint 설정 파일 생성
    ESLint의 설정을 지정하기 위해 .eslintrc 파일을 생성합니다. JSON 또는 YAML 형식으로 작성할 수 있고 기본 설정 파일을 생성하거나 사용자 정의 설정을 작성할 수 있습니다.
{
	"env":{
    	"brower": true,
        "es6": true
	},
    "extends": [
    	"eslint:recommended",
        "plugin:vue/essential"
    ],
    "globals": {
    	"Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "extends": "airbnb-base",
    "pligins": [
    	"vue"
    ],
    "rules": {
    }
}

또는

eslint --init

을 입력하고 설정값들을 세팅해주면 .eslintrc 파일이 생성됩니다.

  1. 규칙 설정
    .eslintrc 파일에서 규칙을 설정합니다. ESLint는 다양한 규칙을 제공하며 프로젝트에 적합한 규칙을 선택하여 활성화하거나 비활성화할 수 있습니다.
"rules": {
        // Override our default settings just for this directory
        "eqeqeq": "warn",
        "strict": "off"
    }

자세한 규칙 설정에 관해서는 eslint 에서 확인할 수 있습니다.


ESLint의 장점

일관된 코딩 스타일 유지

ESLint는 다양한 코딩 스타일 규칙을 제공하며, 이를 설정하여 프로젝트 전체에서 일관된 코딩 스타일을 유지할 수 있습니다. 일관된 코딩 스타일은 코드의 가독성을 향상시키고 협업을 용이하게 만들어줍니다.

버그와 잠재적인 오류 검사

ESLint는 코드를 정적으로 분석하여 버그와 잠재적인 오류를 식별합니다. 잘못된 변수 사용이나 함수 호출, 잠재적인 예외 상황 등을 감지하여 코드 품질을 향상시킵니다. 버그를 사전에 발견하고 수정할 수 있습니다.

보안 문제 검사

ESLint는 코드에서 흔히 발생하는 보안 문제를 검사합니다. XSS(Cross-Site Scripting) 공격, SQL 인젝션, CSRF(Cross-Site Request Forgery) 공격 등과 관련된 취약점을 찾아내고 개발자에게 경고를 제공하여 보안 취약성을 최소화합니다.

지속적인 품질 향상

ESLint를 프로젝트에 통합하면 코드 품질을 지속적으로 향상시킬 수 있습니다. ESLint가 코드를 검사하고 경고를 제공함으로써 코드의 문제를 파악하고 수정할 수 있습니다.

profile
프론트엔드 개발자 🧑

2개의 댓글

comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

1개의 답글