본문 바로가기

JavaScript/ETC

Naver ESLint 적용

프로젝트를 총 세명이 진행하다보니, 다들 코드 스타일이 달랐다.

코드의 품질을 높이고, 좋은 코딩 스타일을 익히기 위해 eslint를 프로젝트에 적용하기로 했다.

https://github.com/naver/eslint-config-naver

 

naver/eslint-config-naver

Naver JavaScript Coding Conventions rules for eslint - naver/eslint-config-naver

github.com

eslint 는 Airbnb를 기반으로 한 naver eslint를 적용하기로 하였다.

# 적용 순서

1. 프로젝트에 eslint를 설치한다.

yarn add eslint -D

 

2. 설치가 완료되었다면, IDE(phpstorm 사용)에 eslint를 설정한다.

Enable을 체크하고, ESLint package에 설치한 eslint 경로를 지정해준다. ( Enable를 체크하면 자동으로 찾아준다. )

3. eslint-config-naver를 프로젝트에 설치한다.

yarn add eslint-config-naver -D

4. 프로젝트내부에 .eslintrc 파일을 만들고 옵션을 추가한다.

{
  "env": {
    "es6": true
  },
  "extends": "naver"
}

 

잘 적용 됐다 :)

 

*참고 URL : https://jojoldu.tistory.com/230

 

Airbnb의 eslint를 IntelliJ에 적용하기

안녕하세요? 이번 시간엔 airbnb의 eslint를 IntelliJ에 적용하는 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github..

jojoldu.tistory.com

 

# rules 추가

1. 공백 tab > space 4칸

"rules": {
    "indent": ["error", 4]
 }

 

# webpack dev server에 연결

1. loader 설치

yarn add babel-eslint eslint-loader eslint-plugin-import --save --dev

 

2. webpack.config에 추가

    babel-loader보다 eslint-loader가 먼저 실행되어야 한다.

// webpack.config.development.js

 rules: [
      {
        enforce: 'pre',
        test: /\.(js)$/,
        loader: 'eslint-loader',
        exclude: /node_module/,
      }
 ],

 

3. .eslintrc 에 parser 설정

{
  "env": {
    "es6": true
  },
  "extends": ["naver"],
  "rules": {
    "no-script-url": "off",
    "no-console": "off",
    "no-extra-boolean-cast": "off",
    "no-useless-escape": "off",
    "max-len": ["error", { "code": 200 }],
    "no-else-return": "off",
    "indent": ["error", 2],
    "quotes": ["error", "single"],
    "array-element-newline": ["error", "consistent"],
    "object-curly-spacing": ["error", "always"],
    "no-dynamic-require": 0
  },
  "parser": "babel-eslint" // 추가
}

'JavaScript > ETC' 카테고리의 다른 글

babel  (0) 2019.06.13
호이스팅  (0) 2019.04.20
불변성  (0) 2019.04.03
Object.entries()  (0) 2019.03.29
자바스크립트 비동기 처리와 콜백함수  (0) 2019.03.07