【Ruby】 커밋하기 전에 husky+lint-staged 로 Rubocop의 자동 성형 & 체크를 실시한다
이 기사 뭐야?
위 기사를 참고로
husky
+ lint-staged
그 구조를 사용하여 Rubocop의 자동 성형 및 체크를 실시하는 환경을 구축할 수 있었으므로, 그 순서 메모가 됩니다.
이 기사를 읽어 주신 분에게
적인 것이 있으면 코멘트등 받을 수 있으면 도움이 됩니다. 🙇♂️
rubocop 옵션 변경 2019.08.05 추가
분보 동료의 aqui 씨로부터, 피드백을 받았습니다!
이 기사를 참고로 곧 기사를 업데이트하고 싶습니다.
환경
Homebrew에서 설치 한
git
및 yarn
절차
실제로 설정한 순서를 기재해 갑니다.
준비
필요한 Gem 및 npm 패키지를 설치합니다.
# Rubocopのインストール(or Gemfileへrubocopを追記して、bundle installする)
gem install rubocop
# npmパッケージのインストール
yarn add -D lint-staged husky
package.json 설정
rb, rake 파일을 대상으로 Rubocop에 의한 자동 성형과 체크를 하는 명령을 기재합니다.
{
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"linters": {
"*.{rb,rake}": [
"rubocop -a",
"rubocop",
"git add"
]
}
}
}
bundle install
한 Rubocop을 사용하고 싶은 경우는, 이하의 커멘드를 기재하는 것이 좋을까라고 생각합니다. (확인되지 않았지만 아마도 문제없이 작동할 것이라고 생각합니다.)
# Rubocopのインストール(or Gemfileへrubocopを追記して、bundle installする)
gem install rubocop
# npmパッケージのインストール
yarn add -D lint-staged husky
{
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"linters": {
"*.{rb,rake}": [
"rubocop -a",
"rubocop",
"git add"
]
}
}
}
bundle exec rubocop -a
bundle exec rubocop
이것으로 설정이 완료됩니다.
주의사항
팀 개발 등에서 본 설정을 사용하고 싶은 경우, 반드시
yarn
하고, npm 패키지를 인스톨 해 주세요.※npm 패키지를 인스톨 해 두지 않으면,
lint-staged
와 husky
가 동작하지 않으므로, 주의가 필요합니다.끝
CircleCI 측에서 Rubocop의 자동 성형을 한 PR을 내주는 Gem도있는 것 같습니다.
자동 성형을 커밋에 포함하지 않는 운용으로 하고 싶은 경우는, 상기를 활용하는 것이 좋을 것 같습니다.
Reference
이 문제에 관하여(【Ruby】 커밋하기 전에 husky+lint-staged 로 Rubocop의 자동 성형 & 체크를 실시한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zaki_zaki/items/847462d18f0f37e74c8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)