티스토리 뷰
[13 | Next.js] prettier v3 + prettier-plugin-tailwindcss 설정 관련 이슈
blueprint-12 2023. 9. 20. 21:33넥스트 프로젝트를 진행하면서 테일윈드를 사용하게 됐는데 발빠른 사람들이 tailwindcss의 클래스명을 정렬해주는 플러그인을 만들었길래 적용해보았다. 공식 repo에 가보면 class명을 어떤 순서로 자동으로 정렬해주는 지 설명해주기 때문에 README를 읽어보고 원하면 적용하는 것이 좋을 거 같다.
아래는 prettier-plugin-tailwindcss 의 공식 repo이다.
https://github.com/tailwindlabs/prettier-plugin-tailwindcss
문제상황
플러그인 설정 방법도 쉬운 거 같아서 바로 dev환경에 설치하고 적용해보았는데 class명이 sorting되지 않는 문제가 발생했다. 참고로 기존에 prettier를 설치하여 사용중이었고 해당 프로젝트에 .prettierrc 파일이 이미 존재하고 있었다.
로컬 환경
우선 설치한 버전들은 아래와 같다.
//package.json
"dependencies": {
"@types/node": "20.5.2",
"@types/react": "18.2.20",
"@types/react-dom": "18.2.7",
"eslint": "8.47.0",
"eslint-config-next": "13.4.19",
"next": "13.4.19",
"react": "18.2.0",
"react-dom": "18.2.0",
"typescript": "5.1.6"
},
"devDependencies": {
"autoprefixer": "^10.4.15",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"postcss": "^8.4.30",
"prettier": "^3.0.2",
"prettier-plugin-tailwindcss": "^0.5.4",
"tailwindcss": "^3.3.3"
}
원인이 될만한 패키지의 버전을 보면 아래와 같다.
- tailwindcss v3
- prettier-plugin-tailwindcss v0.5
- prettier v3
원인 추측
1. 설정을 건들인 것이므로 vscode를 재부팅하면 제대로 동작할 것이다 => X
2. 현재 prettier-plugin-tailwindcss가 prettier 3버전을 지원하지 않기 때문에 다운그레이드 해야한다. => X
- REAMD에 보면 지원한다고 나와있다.
3. prettier에 추가적으로 class명 정렬을 하는 플러그인이기 때문에 prettier 세팅과 충돌이 있거나 프리티어가 인식하지 못하는 것이다. => O
- 그래서 prettierrc 파일에 plugins 배열에 해당 플러그인 명을 넣어줬음에도 불구하고 인식이 되지 않았다.
- 구글링을 통해서 비슷한 이슈를 찾았다. https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/191
원인을 보니 prettierrc의 확장자로 json을 명시해줘야하고 json에서는 정상동작하는 거 같았다.
.prettierrc => .prettierrc.json 으로 변경하니 정상동작하였다. 해결완료👧
{
"printWidth": 80,
"singleQuote": false,
"trailingComma": "all",
"useTabs": false,
"arrowParens": "always",
"bracketSpacing": true,
"bracketSameLine": false,
"endOfLine": "auto",
"plugins": ["prettier-plugin-tailwindcss"]
}
- Total
- Today
- Yesterday
- 항해99프론트
- 항해99추천비추천
- float 레이아웃
- is()
- reactAPI
- && 셸 명령어
- 프리렌더링확인법
- fs모듈 넥스트
- 타입스크립트 장점
- 틸드와 캐럿
- aspect-ratio
- 형제 요소 선택자
- D 플래그
- grid flex
- getStaticPaths
- nvm경로 오류
- text input pattern
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- tilde caret
- 항해99프론트후기
- 타입스크립트 DT
- 부트캠프항해
- nvm 설치순서
- Prittier
- 원티드 3월 프론트엔드 챌린지
- getServerSideProps
- 프리온보딩 프론트엔드 챌린지 3월
- 원티드 FE 프리온보딩 챌린지
- 원티드 프리온보딩 FE 챌린지
- ~ ^
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |