프리티어는 코드 포맷의 통일성을 유지시켜주는 javascript라이브러리이다. 우리 팀에서도 자유분방한 팀원들과(?)의 협업을 위해 코드 포맷 통일성 유지시켜야 해서 prettier를 쓰고 있다.
제멋대로 코딩하고 prettier로 세팅해서 commit하면 좋다.
intelliJ에서 세팅하기
2023.01.20 - [javascript] - [JS] Prettier란? Prettier Configuration파일 세팅하기
[JS] Prettier란? Prettier Configuration파일 세팅하기
프리티어는 코드 포맷의 통일성을 유지시켜주는 javascript라이브러리이다. 우리 팀에서도 자유분방한 팀원들과(?)의 협업을 위해 코드 포맷 통일성 유지시켜야 해서 prettier를 쓰고 있다. 제멋대로
wouldyou.tistory.com
install
프로젝트에서 npm intall해준다. 이제 ctrl + alt + shift + p 를 눌러서(아마 intelliJ기준) formatting할 수 있다.
npm i --save-dev prettier
Configuration파일의 명칭
딱히 설정 없이도 설치만 하면 잘 돌아가지만, configuration설정을 할 수도 있다.
프리티어의 configuration파일은 https://github.com/davidtheclark/cosmiconfig를 기반으로 되어있다.
cosmiconfig는 프로젝트에서 configuration파일을 찾아주는 프로그램이다.
프로젝트 하위의, (예를 들어 myapp이라는 프로젝트라면)
- package.json (myapp하위의 package.json을 찾는다)
.json
,.yaml
,.yml
, .js
, cjs 형식으로 된 rc가 붙은 파일 (.myapprc)- .config 파일 하위의 rc , .json, .yaml, .yml, .js, .cjs 파일들
- .config 디렉토리 아래에
- myapprc, myapprc.json, myapprc.yaml, myapprc.yml, myapprc.js , myapprc.cjs
- .config.js 또는 CommonJS 에서는 .config.cjs
를 찾아준다.
따라서 프리티어의 configuration파일도 이러한 규칙을 따르면 된다.
- A "prettier" key in your package.json file.
- A .prettierrc file written in JSON or YAML.
- A .prettierrc.json, .prettierrc.yml, .prettierrc.yaml, or .prettierrc.json5 file.
- A .prettierrc.js, .prettierrc.cjs, prettier.config.js, or prettier.config.cjs file that exports an object using module.exports.
- A .prettierrc.toml file.
하지만 귀찮으니,.prettierrc.json 로 통일하도록 하자.
Configuration파일의 위치
프로젝트 루트에 .prettierrc.json 를 만들면 된다.
Configuration Schema
기본 configuration구조에 대한 것 같다.
If you’d like a JSON schema to validate your configuration, one is available here: http://json.schemastore.org/prettierrc.
“원본에는 configuration을 검증할 스키마가 필요하다면 여기있다” 고 말하긴 하는데,,, 그게 무슨말인지,, 아마 기본 구조에 대한 것 아닐까
옵션
configuration파일을 읽어보자.
기본적으로
- semi: flase 강제로 세미콜론을 붙일 것인가
등의 옵션이 있다. 상세한 옵션들은 아래를 참고하자
https://prettier.io/docs/en/options.html
Overriding
옵션을 아래처럼 오버라이딩 할 수 있다.
{
"semi": false,
"overrides": [
{
"files": "*.test.js",
"options": {
"semi": true
}
},
{
"files": ["*.html", "legacy/**/*.js"],
"options": {
"tabWidth": 4
}
}
]
}
Parser
프리티어가 읽지 못하는 파일에 parser옵션을 주어 parser를 설정할 수 있다.. 예를 들어서 이제 .prettierrc파일을 json으로 파싱할 것이다.
{
"overrides": [
{
"files": ".prettierrc",
"options": { "parser": "json" }
}
]
}
최종 .prettier.json파일
일단은 prettier가 알아서 다 세팅되어있기 때문에 이것밖에 할게 없다….
{
"tabWidth": 2,
"semi": true
}
프로젝트를 진행하며 더 추가할 사항이 있으면 업데이트할 예정이다.
참고
Prettier · Opinionated Code Formatter
Opinionated Code Formatter
prettier.io
'javascript' 카테고리의 다른 글
[Node] NVM 이란? NVM 설치하기 (0) | 2024.04.09 |
---|---|
[javascript] var의 문제점, let, const와의 차이 (0) | 2023.01.05 |
[javascript] 변경 감지 이벤트 onchange, oninput 차이 (0) | 2022.10.12 |
[javascript] Symbol이란? ES6에서 새로 추가된 타입, javascript enum (0) | 2022.09.23 |
[vue] provide와 inject 알아보기 (0) | 2022.07.12 |