[Next.js] eslint 초기설정
프로젝트 초기세팅 시 eslint와 함께 깔아주어야 하는 것들이 몇가지 있다.
이번 기회에 내가 뭘 설치해서 쓰고있는 건지 정리하고 넘어가야겠다는 생각을 했다.
eslint는 문법적 오류를 잡아주고, prettier는 코드컨벤션을 통일시켜준다.
하지만 eslint에는 포맷팅 기능이 포함되어있어서, eslint와 prettier를 함께 쓰면 충돌이 발생할 수 있다.
eslint-config-next
next.js의 린팅 룰
eslint-plugin-react
리액트의 린팅 룰
eslint-config-prettier
eslint에서 prettier와 겹치는 포매팅룰을 삭제
eslint-plugin-prettier
eslint에 prettier의 포매팅 기능을 추가
@typescript-eslint/parser
eslint의 기본파서를 타입스크립트용 파서로 대신하도록 함 (설치 안하면 airbnb peer-dependency 설치 오류)
eslint-config-airbnb
에어비앤비에서 제공하는 린트 규칙.
여기에는 몇 가지 peer-dependency들이 같이 따라붙는다(함께 깔아줘야 함)
eslint-plugin-import
ES6+ import/export 문법의 린팅을 지원하고, 파일 경로와 import 이름의 오타를 예방
eslint-plugin-react
상단에 나와있음
eslint-plugin-react-hooks
react hooks API에 기반한 hook 관련 룰
eslint-plugin-jsx-a11y
JSX의 정적 평가를 수행하여 React 앱의 접근성 문제를 찾아냄
dependencies와 devDependencies는 뭐가 다를까?
설치할 때 --save -D 옵션을 주면 devDependencies에 설치된다.
dependencies : 애플리케이션 동작과 관련있는 라이브러리들 (배포할 때 포함)
devDependencies : 애플리케이션 동작과 직접적인 연관은 없지만, 이름 그대로 개발할 때 필요한 라이브러리들 (배포할 때 미포함)
eslint 관련 패키지들은 devDependencies에 설치해주는 것이 맞겠다.
'한 걸음 > React & Next.js' 카테고리의 다른 글
[Next.js] 미들웨어(Middleware) (0) | 2024.05.21 |
---|---|
[React + typescript] 말줄임표(text-ellipsis) 중간에만 적용하기 (0) | 2024.03.25 |
하이라이팅 텍스트 만들기 (0) | 2024.02.08 |
npm > pnpm으로 마이그레이션 하기 (1) | 2024.01.10 |
[React + Vite + styled-components] npm 배포 후 ThemeProvider를 인식하지 못할 때 (0) | 2024.01.09 |