본문 바로가기
오픈소스2025년 11월 5일3분 읽기

Prettier 4.0 출시 — ESM 전용 전환과 속도 2배 향상

YS
김영삼
조회 499

Prettier 4.0 정식 출시

JavaScript 생태계의 대표 코드 포맷터 Prettier가 4.0을 정식 출시했다. 이번 메이저 버전의 가장 큰 변화는 ESM(ES Modules) 전용으로 전환한 것이다. CommonJS 지원이 완전히 제거되었으며, 내부 아키텍처를 재설계하여 포맷팅 속도가 2배 향상되었다.

ESM 전용 전환

Prettier 4.0은 더 이상 require()로 불러올 수 없다. import 구문만 지원하며, 설정 파일도 prettier.config.mjs 또는 prettier.config.ts를 사용해야 한다. 이 결정은 JavaScript 생태계의 ESM 전환 흐름을 반영한 것이다.

  • ESM 전용: require() 지원 제거, import만 사용
  • 설정 파일: .prettierrc.mjs, prettier.config.ts 지원
  • 플러그인 API: ESM 기반으로 전면 재설계
  • Node.js 18 이상 필수: Node.js 16 지원 종료

성능 개선

ESM 전환과 함께 내부 파서와 프린터가 최적화되었다. 대규모 파일(1만 줄 이상)에서의 포맷팅 속도가 기존 대비 2배 이상 빨라졌다. 메모리 사용량도 30% 줄어들어, CI/CD 환경에서의 리소스 효율이 개선되었다. AST 처리 파이프라인의 불필요한 복사를 제거하고 지연 파싱을 도입한 결과다.

새로운 포맷팅 규칙

몇 가지 포맷팅 규칙도 변경되었다. 가장 논쟁이 되었던 것은 화살표 함수 매개변수의 괄호 기본값이 'always'로 변경된 것이다. 또한 객체 구조 분해에서의 줄바꿈 규칙이 더 일관성 있게 적용된다. TypeScript의 제네릭 타입 포맷팅도 개선되어 복잡한 타입 정의가 더 읽기 쉬워졌다.

마이그레이션 가이드

Prettier 3.x에서 4.0으로의 마이그레이션은 ESM 전환이 가장 큰 과제다. 공식 마이그레이션 CLI 도구 prettier-migrate가 제공되어, 설정 파일 변환과 포맷팅 변경 사항을 자동으로 처리해 준다. 대부분의 프로젝트에서 5분 이내에 마이그레이션이 가능하다. 다만, CommonJS 기반의 커스텀 플러그인을 사용하는 경우 플러그인 업데이트가 선행되어야 한다.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록