SI 업체에 있을때 그 정리안되고 난잡한 코드를 보고 난 저렇게 안짜야지 라는 생각을 하면서 잘 지키면서 살아오고 있었는데, 최근 React, VS Code를 알게되고 소스코드 포맷을 자동으로 체크해주는 ESLint, Prettier 라는 것도 알게되었습니다.
새로운 프로젝트를 만들때마다 정확하게 알지 못하고 사용했었는데 이번 기회에 제대로 알고 시작하고 싶고 찾아 보는것도 지쳐서 글을 남깁니다.
ES LInt는 ES + Lint의 합성어입니다.
ES = ECMA Script 즉, Javascript를 의미합니다.
Lint = 버그나 의심스러운 구조체에 표시를 해주는 것을 의미합니다.
Linter는 코드를 정적으로 분석하기 때문에, 프로그램을 실행하지 않고도 안티 패턴등을 자동으로 검출해줍니다.
코드를 미(美)적으로 보기좋게 포맷팅 해줍니다. 설정파일에 정해둔 규칙으로 코드 구조를 완전히 새로 작성해줍니다.
CRA Typescrpit 환경, VS Code를 이용합니다. 귀찮아서 한번에 세팅합니다.
eslint, prettier을 각각 검색후 설치해줍니다.
1. npm 또는 yarn 으로 설치합니다.
$ npm install eslint prettier --save-dev
or
$ yarn add -D eslint prettier
2. typescript 설치
$ npm install @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev
or
$ yarn add -D @typescript-eslint/eslint-plugin @typescript-eslint/parser
3. 기타 플러그인 설치
$ npm install eslint-config-prettier eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks --save-dev
or
$ yarn add --dev eslint-config-prettier eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks
루트 폴더에 파일을 생성해주세요.
{
"parser": "@typescript-eslint/parser",
"extends": ["plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"],
"plugins": ["@typescript-eslint", "prettier"],
"ignorePatterns": ["node_modules/"],
"env": {
"browser": true,
"node": true
},
"rules": { "@typescript-eslint/explicit-module-boundary-types": "off" }
}
위에서 설치한 eslint-config-prettier의 설정방법이 8.0.0 버전 이후로 하나로 통합되었습니다.
참고하여 세팅해주세요.
0 또는 "off" : 에러 검출 하지 않음
1 또는 "warn" : 경고
2 또는 "error" : 에러 표시
{
"singleQuote": true,
"semi": true,
"useTabs": false,
"tabWidth": 4,
"trailingComma": "all",
"printWidth": 200,
"endOfLine": "auto",
"arrowParens": "avoid"
}
공식 문서를 참조해주세용!
1. 파일 > 기본설정 > 설정으로 들어가주세요!
2. Format On Save 검색 후 체크박스 체크
이제 코드를 저장하면 자동 정렬이 되어 저장됩니다!
https://velog.io/@kyusung/eslint-config-2#%ED%99%98%EA%B2%BDenv
https://rexiann.github.io/2020/12/13/what-is-eslint.html
Failed to load plugin 'prettier' declared in '.eslintrc': Cannot find module 'eslint-plugin-prettier'
이런 오류가 납니답