Stylelint 설정으로 코드 스타일 자동화 및 정리하는 방법

2025. 1. 21. 15:24·React
반응형

CSS 및 CSS-in-JS 코드의 일관성을 유지하고 자동으로 정렬하기 위해 stylelint를 설정하는 과정을 진행하던 중 작성되었습니다.

 

협업을 통해 코드를 짜다보면 팀 내 코드 스타일을 통일하는 과정이 중요하다. 그래서 주로 pretteir 나 lint를 사용하는데 stylelint 도 그중 하나로 팀 내 코드 스타일을 통일하고 코드 품질을 높이는 데 도움을 준다.

 

1. Stylelint란?

 

Stylelint는 스타일시트(CSS, SCSS, CSS-in-JS 등)를 분석하고 오류를 찾아내는 린터(Linter)이다. 이를 사용해서 코드 품질을 유지하고 코드 스타일을 통일할 수 있다.

 

제공하는 주요 기능:

  • 문법 검사: CSS 및 SCSS, CSS-in-JS에서 발생할 수 있는 문법 오류를 자동으로 찾기.
  • 코드 일관성 유지: 코드 스타일 규칙을 정의하여 일관된 스타일을 유지할 수 있도록함.
  • 자동 수정: 잘못된 스타일을 자동으로 수정하는 기능을 통해 코드 정리 및 최적화 가능.

stylelint는 특히 팀 협업 시 코드 리뷰에서 발생할 수 있는 불필요한 논쟁을 줄이고 코드 일관성을 높이는 데 큰 도움이 된다.

 


2. Stylelint 설치

프로젝트에서 stylelint를 사용하기 위해 필요한 패키지를 설치해야 한다.

아래 명령어를 통해 stylelint와 관련된 패키지를 추가할 수 있다.

 


우리 프로젝트는 yarn을 사용하여 stylelint 및 관련 플러그인을 설치했다.

yarn add --dev stylelint stylelint-config-standard stylelint-order stylelint-scss postcss-styled-syntax

 

설치되는 패키지에 대한 설명:

  • stylelint: 코드 스타일을 검사하고 오류를 찾아내는 핵심 패키지
  • stylelint-config-standard: 스타일 검사 규칙을 제공하는 기본 구성
  • stylelint-order: CSS 속성의 정렬을 관리하는 플러그인
  • stylelint-scss: SCSS 문법을 지원하는 플러그인
  • postcss-styled-syntax: CSS-in-JS 코드를 처리하기 위한 PostCSS 구문 분석기

3. Stylelint 설정 파일 작성

stylelint의 설정 파일인 .stylelintrc.json을 프로젝트 루트에 추가한다.

여기에 기본 규칙과 플러그인, 코드 스타일 규칙을 정의할 수 있다.

{
  "extends": ["stylelint-config-standard"],
  "customSyntax": "postcss-styled-syntax",
  "plugins": ["stylelint-order", "stylelint-scss"],
  "rules": {
    "order/properties-alphabetical-order": true
  }
}

 

설정한 규칙들 :

  • extends: stylelint-config-standard를 사용해 기본적인 스타일 규칙을 상속.
  • customSyntax: postcss-styled-syntax로 CSS-in-JS 코드도 검사한다.
  • plugins: stylelint-order로 속성 정렬을, stylelint-scss로 SCSS 구문을 검사한다.
  • rules:
    • order/properties-alphabetical-order: 속성들을 알파벳 순서대로 정렬하도록 설정한다.

4. VSCode 설정

VSCode 편집기에서 파일 저장 시 자동으로 코드 스타일이 정리되도록 설정할 수 있다. 자동 저장이 아니라 스크립트를 사용해서도 가능하지만 난 저장 시 정리되는 게 편리하다고 생각해서 이 방식을 택했다.

 

settings.json 파일에 저장할 때 stylelint를 자동으로 적용하고, stylelint가 typescriptreact 파일도 검사하도록 설정했다.

{
	,,,
  "editor.codeActionsOnSave": {
    "source.fixAll.stylelint": "explicit"
  },
  "stylelint.validate": ["css", "typescriptreact"],
  "stylelint.configFile": ".stylelintrc.json",
  "stylelint.packageManager": "yarn",
}

 

설정 설명 :

  • stylelint.validate: CSS 및 typescriptreact 파일을 검사한다.
  • editor.codeActionsOnSave: 파일을 저장할 때 Stylelint를 자동으로 실행해 코드를 정리하고 오류를 수정한다.
  • stylelint.configFile: stylelint의 설정 파일 위치를 지정함.
  • stylelint.packageManager: 패키지 관리 도구로 yarn을 사용.

5. VSCode 플러그인 설치

VSCode에서 Stylelint를 원활히 사용하려면 Stylelint 플러그인을 설치할 수도 있다.

 

Stylelint - Visual Studio Marketplace

Extension for Visual Studio Code - Official Stylelint extension for Visual Studio Code

marketplace.visualstudio.com

 


 

이렇게 stylelint를 설정하면, CSS와 CSS-in-JS 파일의 코드 스타일을 통일하고 파일 저장 시 자동으로 정리하는 환경을 만들 수 있다. 그리고 코드 일관성을 유지하면서 협업 효율성을 높인다.

 

개인적으로 초기에 이런 세팅이 DX를 높이는 일 중 하나라고 생각한다. 초기 세팅이 조금 귀찮을 수도 있지만 꼭 시도해 보길 바란다.

반응형

'React' 카테고리의 다른 글

🌟 고해상도 이미지 다운로드 기능 개선: html-to-image로 화질 향상 및 사파리 호환성 이슈 해결 (50%) 🚀  (1) 2025.04.17
노트북 크롬 Responsive 모드인데도 모바일로 인식되는 이유 !  (0) 2025.04.16
MSW로 프론트엔드 개발 완성도 높히기: 에러 처리부터 LiveStorage 사용까지!  (4) 2025.03.24
[REACT] Tanstack-Query의 QueryClient와 캐싱 정리  (2) 2024.10.03
[REACT] 코드 네이밍 규칙 (Coding Conventions) (+ 초보도 쉽게하는 단축키 설정하기!!)  (4) 2024.05.13
'React' 카테고리의 다른 글
  • 노트북 크롬 Responsive 모드인데도 모바일로 인식되는 이유 !
  • MSW로 프론트엔드 개발 완성도 높히기: 에러 처리부터 LiveStorage 사용까지!
  • [REACT] Tanstack-Query의 QueryClient와 캐싱 정리
  • [REACT] 코드 네이밍 규칙 (Coding Conventions) (+ 초보도 쉽게하는 단축키 설정하기!!)
healim01
healim01
    반응형
  • healim01
    Hailey Daily
    healim01
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 전체
    • 우테코
    • React
    • Javascript
    • SOLVED.
    • 개발자의 성장 도파민 기록
    • 개발자의 워크스페이스
    • Every Year Every Month
    • 글쓰기
  • 링크

    • Github
  • 인기 글

  • hELLO· Designed By정상우.v4.10.2
healim01
Stylelint 설정으로 코드 스타일 자동화 및 정리하는 방법
상단으로

티스토리툴바