prettier-plugin-tailwindcss 플러그인을 사용하면 TailwindCSS의 유틸리티 클래스 정렬 규칙에 따라 클래스를 자동 정렬해준다. 이전까진 Tailwind Formatter 같은 IDE 플러그인을 사용해서 정렬이 필요할 때마다 부가기능을 실행(⌃
⇧
H
)했는데 그럴 필요가 없어졌다.
prettier-plugin-tailwindcss 플러그인을 설치하고 파일 저장시 자동 포매팅 되도록 IDE를 설정하면, 유틸리티 클래스도 함께 정렬돼서 편하다.
참고로 클래스 자동 정렬 외에도 잘못 입력한 클래스 오류 표시, 축약(shorthand) 사용 강제, 임의(arbitrary) 값 사용 금지 같은 규칙이 적용된 eslint-plugin-tailwindcss ESLint 플러그인도 있다.
prettier-plugin-tailwindcss
플러그인 설치
yarn add -D prettier prettier-plugin-tailwindcss
.prettierrc
설정 파일에 plugins
속성 추가
{
// ...
"plugins": ["prettier-plugin-tailwindcss"]
}
<aside> <img src="/icons/search_gray.svg" alt="/icons/search_gray.svg" width="40px" /> 파일 저장시 Prettier 포매팅 되도록 IDE 설정을 했다면 유틸리티 클래스도 함께 정렬된다.
</aside>
설정을 완료하고 엘리먼트를 보면 클래스 이름을 재배치 하라는 경고가 나온다.
수정하면 recommended class order 순서대로 유틸리티 클래스가 정렬된다.
<!-- 정렬 전 -->
<Header className="flex gap-8 items-center fixed top-0 z-10 w-full">
<!-- 정렬 후 -->
<Header className="fixed top-0 z-10 flex w-full items-center gap-8">
현재 프로젝트에 있는 모든 파일을 포맷팅을 하려면 터미널에 아래 명령어를 입력한다
# 현재 폴더 위치부터 모든 파일에 대해 포매팅 됐는지 "검사"(수정하진 않음)
npx prettier --check .
# 현재 폴더 위치부터 모든 파일에 대해 "포매팅"
npx prettier --write .
# 모든 위치에 있는 js, ts, jsx, tsx 확장자에 대해 대해 "포매팅"
npx prettier --write "**/*.{js,ts,jsx,tsx}"
package.json에 스크립트 명령어를 만들어두고 사용할 수 있다.
"scripts": {
// ...
"format": "prettier --write '**/*.{js,jsx,ts,tsx}'"
},