코드 포맷터 도입
코드 포맷터란?
도입의 장점
이 기사에서 소개하지 않는 것
babel
또는 node-sass
와 같은 전송 환경을 만지지 않습니다 완성형
최종 내용은 여기 리포지토리에 있습니다.
리포지토리에 대한 링크
소개할 포맷터 목록
소개
작업 디렉토리 작성 및 이동
$ mkdir lint-demo && cd lint-demo
디렉토리 초기화
$ npm init -y
라이브러리 설치
$ yarn add -D prettier eslint stylelint
구성 파일 추가
설정 파일이 없으면 Lint 태스크를 실행할 수 없으므로 설정 파일을 추가합니다.
Prettier
프로젝트의 루트 디렉토리에
.prettierrc
파일 추가Prettier의 구성 가능한 항목
다음은 설정의 예
{
"singleQuote": true,
"trailingComma": "all",
"htmlWhitespaceSensitivity": "css",
"printWidth": 120
}
ESLint
Parser 추가
$ yarn add -D babel-eslint
Prettier와 함께 사용하기 위해 다음 패키지 추가
$ yarn add -D eslint-plugin-prettier eslint-config-prettier
Google 권장 설정을 사용하기 위해 다음 패키지 추가
$ yarn add -D eslint-config-google
ESLint의 설정 파일은 package.json에 추가 가능하므로 다음 용도에 기재
package.json
{
"eslintConfig": {
"parser": "babel-eslint",
"env": {
"browser": true
},
"extends": [
"google",
"plugin:prettier/recommended"
]
}
}
stylelint
Prettier와 함께 사용하기 위해 다음 패키지 추가
$ yarn add -D stylelint-config-prettier
SCSS에서 사용할 수 있도록 다음 패키지 추가
$ yarn add -D stylelint-scss stylelint-config-recommended-scss
스타일 속성을 정렬할 수 있도록 다음 추가
$ yarn add -D stylelint-order stylelint-config-rational-order
display에 의해 무효가 되는 프로퍼티를 검출하기 위해서, 다음의 plugin를 추가
$ yarn add -D stylelint-declaration-block-no-ignored-properties
다음을 위해 package.json에 추가하면 설정을로드합니다.
package.json
{
"stylelint": {
"plugins": [
"stylelint-declaration-block-no-ignored-properties"
],
"extends": [
"stylelint-config-rational-order",
"stylelint-config-recommended-scss",
"stylelint-config-prettier"
],
"rules": {
"plugin/declaration-block-no-ignored-properties": true
}
}
}
실행 환경 구축
Lint를 실행하려면 npm scripts를 사용합니다.
Lint 용 파일 추가
# ディレクトリの作成
$ mkdir -p src/{scss,html,js}
# 空のファイルを追加
$ touch src/{html/index.html,js/main.js,scss/main.scss}
Git hooks에서 Lint 작업을 수행하기 위해 다음 패키지 도입
$ yarn add -D husky lint-staged
package.json에 다음을 추가
{
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/html/**/*.html": "prettier --write",
"src/js/**/*.js": "eslint --fix",
"src/scss/**/*.scss": "stylelint --fix"
}
}
이제 Git 커밋을 실행하면 파일에 맞게 Lint 작업이 자동으로 실행됩니다.
레거시 환경을 박멸하는 참고에 이용해 주세요
Reference
이 문제에 관하여(코드 포맷터 도입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kkkaoru/items/f8201177d29f4a742cc1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)