개요
웹 개발을 하면, 웹의 스타일을 관리하기 위해 CSS(Cascading Style Sheets)를 사용하게 됩니다. 이번 블로그 포스트에서는 Stylelint
를 사용하여 CSS, SCSS 와 CSS-in-JS의 코드 스타일을 검사해 보도록 하겠습니다.
CSS를 위한 Stylelint
Stylelint
을 사용하여 CSS
파일안의 스타일 내용을 검사할 수 있습니다. CSS
파일안의 스타일을 검사하기 위해 다음 명령어를 실행하여 Stylelint
를 설치합니다.
npm install --save-dev stylelint stylelint-config-standard
이렇게 설치한 Stylelint
를 사용하기 위해 .stylelintrc.json
파일을 생성하고 다음과 같이 수정할 필요가 있습니다.
{
"extends": "stylelint-config-standard"
}
Stylelint
의 설치와 설정이 끝났다면, 다음 명령어를 실행하여 CSS
파일의 내용을 검사할 수 있습니다.
npx stylelint "**/*.css"
또는 다음과 같이 package.json
파일을 수정하여 Stylelint
를 실행하는 명령어를 만들 수 있습니다.
{
...
"scripts": {
...
"lint:css": "stylelint --ignore-path .gitignore '**/*.css'"
},
...
}
이렇게 만든 lint:css
명령어는 다음과 같이 실행할 수 있습니다.
npm run lint:css
SCSS를 위한 Stylelint
Stylelint
을 사용하여 SCSS
파일안의 스타일 내용을 검사할 수 있습니다. SCSS
파일안의 스타일을 검사하기 위해 다음 명령어를 실행하여 Stylelint
를 설치합니다.
npm install --save-dev stylelint stylelint-config-standard-scss
이렇게 설치한 Stylelint
를 사용하기 위해 .stylelintrc.json
파일을 생성하고 다음과 같이 수정할 필요가 있습니다.
{
"extends": "stylelint-config-standard-scss"
}
Stylelint
의 설치와 설정이 끝났다면, 다음 명령어를 실행하여 SCSS
파일의 내용을 검사할 수 있습니다.
npx stylelint "**/*.scss"
또는 다음과 같이 package.json
파일을 수정하여 Stylelint
를 실행하는 명령어를 만들 수 있습니다.
{
...
"scripts": {
...
"lint:css": "stylelint --ignore-path .gitignore '**/*.scss'"
},
...
}
이렇게 만든 lint:css
명령어는 다음과 같이 실행할 수 있습니다.
npm run lint:css
CSS-in-JS를 위한 Stylelint
Stylelint
을 사용하여 JS(JavaScript)
파일안의 스타일 내용을 검사할 수 있습니다. JS
파일안의 스타일을 검사하기 위해 다음 명령어를 실행하여 Stylelint
를 설치합니다.
npm install --save-dev stylelint stylelint-config-standard postcss-styled-syntax
이렇게 설치한 Stylelint
를 사용하기 위해 .stylelintrc.json
파일을 생성하고 다음과 같이 수정할 필요가 있습니다.
{
"extends": "stylelint-config-standard",
"customSyntax": "postcss-styled-syntax",
}
Stylelint
의 설치와 설정이 끝났다면, 다음 명령어를 실행하여 JS
파일의 내용을 검사할 수 있습니다.
npx stylelint "**/*.(css|tsx)"
또는 다음과 같이 package.json
파일을 수정하여 Stylelint
를 실행하는 명령어를 만들 수 있습니다.
{
...
"scripts": {
...
"lint:css": "stylelint --ignore-path .gitignore '**/*.(css|tsx)'"
},
...
}
이렇게 만든 lint:css
명령어는 다음과 같이 실행할 수 있습니다.
npm run lint:css
stylelint-order
CSS
를 작성할 때, 스타일의 속성(Property)의 순서는 작성할 때마다 다른 경우가 많습니다. 이때, stylelint-order
를 사용하면 CSS
의 속성을 알파벳순으로 정렬할 수 있습니다.
- stylelint-order: https://github.com/hudochenkov/stylelint-order
stylelint-order
를 사용하기 위해서는 다음 명령어를 사용하여 stylelint-order
를 설치합니다.
npm install stylelint-order --save-dev
그런 다음 .stylelintrc.json
파일을 열고 다음과 같이 수정합니다.
{
"extends": ["stylelint-config-standard"],
"customSyntax": "postcss-styled-syntax",
"plugins": ["stylelint-order"],
"rules": {
"order/properties-alphabetical-order": true
}
}
이제 다음 명령어를 실행하면 Stylelint
가 스타일의 속성이 알파벳순이 아닌 경우 에러를 발생시키는 것을 알 수 있습니다.
npm run lint:css
완료
이것으로 Stylelint
를 사용하여 CSS, SCSS 파일의 스타일 내용을 검사하는 방법에 대해서 알아보았습니다. 또한, styled-components
, Emotion
과 같은 CSS-in-JS
형식의 스타일도 검사하는 방법에 대해서 살펴보았습니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.