클론 코딩 2주차에 접어들고 있습니다!
한 주에 많은 진도를 빼지는 못하고 있군요 ㅠ
좀 더 화이팅해야겠습니다.
먼저 eslint를 설치합니다.
$ npm i -D eslint
명령어 설명
devDependencies에 추가하는 이유는 eslint를 앱 런타임에
필요한 것이 아니라 코드 작성 단계에서 정적 분석(static analysis) 을 하기 위해
필요한 도구이기 때문에
eslint는 반드시 devDependencies에 추가하여 함께 퍼블리싱 되는 일이 없도록 합니다.
eslint에 대한 설정 파일을 작성합니다.
eslintrc.js라는 이름으로 프로젝트의 최상위 디렉토리에 둡니다.
파일 이름 또는 경로 이름은 반드시 똑같이 갈 필요는 없지만,
그렇게 할 경우 eslint CLI를 실행하면서 config 파일의 위치를 반드시 함께 전달해줘야합니다.
쉽게 lint 관련 명령어를 실행할 수 있도록 package.json에
script를 추가합니다.
$ npm run lint
이제 위 명령어를 통해 src 하위에 있는 파일에 대해 lint 체크를 할 수 있습니다.
$ npm i -D eslint-config-prettier eslint-plugin-prettier
설치 패키지 설명
lint와 prettier 단계를 아예 분리하기도 하지만 prettier의 CLI가 제 개발 환경에서는 정상 동작하지 않아서 plugin을 설치하여 eslint 오류로 출력되도록 했습니다.
extends에 plugin:prettier/recommand를 추가합니다.
해당 설정을 추가할 경우 eslint 시 prettier를 체크하면서 오류를 검사합니다.
위와 같이 설정하면 Ctrl+s로 저장 시 자동으로 문법 오류를 찾아줍니다.
실제 npm husky 패키지와 이미지는 무관합니다 ㅋ
husky에 대해 말씀 드리려면 git hooks에 대해 먼저 말씀드려야 할 거 같습니다.
git hooks란?
commit, push 등의 동작이 일어날 때 실행할 수 있는 스크립트
husky란?
husky는 git 관련 hooks를 쉽게 관리해주는 패키지
git에서도 해당 기능을 제공하지만 굳이 husky를 사용하는 이유는
.git 폴더에 있는 pre-commit 스트립트는 git을 통해 수정 내역을 관리할 수 없습니다.
쉽게 이야기해서 파일을 수정하더라도 .gitignore에 추가한 것처럼
git status에 표시가 되지 않습니다.
$ npx tsc --init
위 커맨드를 통해 tsconfig.json 포맷을 주석과 함께 자동으로 생성할 수 있습니다.
SQL이 익숙하지 않으므로 GUI 툴 설치
설치 링크 Heidisql 다운로드
Library 반드시 선택!
선택하지 않을 경우 요상한 에러들로 시간을 허비하게 됩니다.