그러면 어떤 패키지가 없어서, 어떤 유효하지 않은 설정을 사용해서 동작하지 않는다는 정보를 얻을 수 있다
그리고 eslintrc에 들어가는 내용을 너무 다 세세히 알려고 하지 말자
일단 동작하면 그러려니 하면 된다
나중에 관련해서 더 세세하게 커스텀 하고 싶을 때만 알아보자
eslint 장점
코딩 실력이 크게 늘었다?
eslint가 잡아주는 오류들을 수정하면서
js의 유용한 문법이나,
불필요한 코드들을 많이 지울 수 있었다
예를 들면, prefer-destructuring룰로 구조 분해 할당 같은 문법들을 알게 된다라던가
반복문 안에서 비동기 함수를 await을 붙여 실행하는데,
당시에는 비동기가 익숙하지 않아서 무조건 await을 붙여서 값을 바로 꺼내서 핸들 하기 급급했는데,
린트가 Unexpected 'await' inside a loop. 에러를 뱉어줬다
관련해서 검색하고 공부하고, Promise에 대해 자세히 공부해보고,
결국 이전의 결과가 다음에 필요하지 않다면
Promise.all로 실행해서 병렬로 처리 후에 한 번에 결과를 받아서 핸들 한다던가
선생님 같은 느낌으로 정말 도움이 많이 되었다
eslint rule 설정할 때
“off” or 0 - turn the rule off “warn” or 1 - turn the rule on as a warning (doesn’t affect exit code) “error” or 2 - turn the rule on as an error (exit code is 1 when triggered)
# CRA로 리액트 프로젝트 시작 yarn create react-app . --template typescript
# eslint --init 으로 eslint 세팅 yarn eslint --init √ How would you like to use ESLint? · style √ What type of modules does your project use? · esm √ Which framework does your project use? · react √ Does your project use TypeScript? · Yes √ Where does your code run? · browser √ How would you like to define a style for your project? · guide √ Which style guide do you want to follow? · airbnb √ What format do you want your config file to be in? · JSON √ Would you like to install them now with npm? · No
입맛대로 답변한다
특히 마지막 Would you like to install them now with npm? 물음에는 No로 답변한다
No로 답변하고 필요한 종속성을 yarn으로 설치해준다
(Yes로 답변하면, npm으로 설치되며 package-lock.json이 생성된다)
terminal
1 2 3 4 5 6 7 8 9 10 11
# 콘솔에 적힌 종속성들을 복사해서 적절히 편집하고 실행한다 # 여러 버전들을 나열해서 알려주는데, 그중에서 최신 버전을 다운받았다 yarn add -D \ eslint-plugin-react@^7.21.5 \ @typescript-eslint/eslint-plugin@latest \ eslint-config-airbnb@latest \ eslint@^7.2.0 \ eslint-plugin-import@^2.22.1 \ eslint-plugin-jsx-a11y@^6.4.1 \ eslint-plugin-react-hooks@^4 \ @typescript-eslint/parser@latest
terminal
1 2 3 4 5
# eslint와 prettier를 함께 쓰려면 아래도 함께 설치한다 yarn add -D \ prettier \ eslint-plugin-prettier \ eslint-config-prettier