Eslint 는 코드 퀄리티를 보장하도록 도와주고 , Prettier 는 코드 스타일을 깔끔하게 통일되도록 도와준다.
1. 두개의 Extention 을 vscode 에서 설치해준다
2. npm 으로 Eslint, Prettier의 Package 를 설치
npm install -D eslint
// Prettier 은 직접설치 OR Extention 만으로 하는법 2가지가 있다
npm install -D prettier
3. VS code Setting -> javascript Format 세팅
4. Format on Save 선택
4-1.Eslint 와 Prettier 충돌방지를 위한 확장 패키지 설치
eslint-config-prettier는 Eslint 규칙에서 Pretter 규칙과 충돌을 막아줌
npm i -D eslint-config-prettier
npm i -D eslint-plugin-prettier
5. 규칙설정
공식문서의 Example 을 우선 찾아보면
// ...eslintrc.json
"env" {
"browser": true,
"es2017" : true,
"node" : true
},
eslintConfig": {
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:prettier/recommended"
],
"overrides: [
],
"rules": {
"object-curly-newline": 0,
},
"env": {
"browser": true
},
},
env: "browser": true 는 document, window 등의 브라우저 내장 객체 조회시 사용
exteds : eslint 에 추가할 규칙, 플러그인
overrides : 무시할 규칙
rules : 원하는 규칙
// ..prettierrc.json
{
"printWidth": 80, // 한 줄의 라인 수
"tabWidth": 2, // tab의 너비
"useTabs": false, // tab 사용 여부
"semi": true, // ; 사용 여부
"singleQuote": true, // 'string' 사용 여부
"quoteProps": "consistent", // 객체 property의 따옴표 여부
"trailingComma": "es5", // 끝에 , 사용 여부
"bracketSpacing": true, // Object literal에 띄어쓰기 사용 여부 (ex: { foo: bar })
"arrowParens": "always", // 함수에서 인자에 괄호 사용 여부 (ex: (x) => y)
"endOfLine": "lf" // 라인 엔딩 지정
"jsxBracketSameLine": false, // JSX의 마지막 `>`를 다음 줄로 내릴지 여부
}
6. 적용 확인
파일 저장 후 에러가 Prettier 규칙에 맞게 고쳐진다면 적용이 되고있다는것이다!