Oxfmt
Oxfmt (/oʊ-ɛks-fɔːr-mæt/)는 자바스크립트 생태계를 위한 고성능 포매터입니다.
지원하는 언어
자바스크립트, JSX, 타입스크립트, TSX, JSON, JSONC, JSON5, YAML, TOML, HTML, Angular, Vue, CSS, SCSS, Less, 마크다운, MDX, GraphQL, Ember, Handlebars
대규모 환경 최적화
대규모 코드베이스 및 지속적 통합(CI) 환경을 대상으로 하며, 높은 처리량과 예측 가능한 성능에 중점을 둡니다.
이는 오렉스 컴파일러 스택 기반으로 구축되어 있으며, 기존 포매터 구현에서 흔히 발생하는 아키텍처적 한계를 피합니다.
우리의 벤치마크 결과에 따르면, Oxfmt는 Prettier보다 약 30배 빠르고, Biome보다 약 2배 빠릅니다.
기본 기능 포함
일반적으로 외부 Prettier 플러그인이 필요했던 기능들이 내장되어 있습니다:
- 모듈 임포트 정렬
- Tailwind CSS 클래스 정렬
- package.json 필드 정렬
- 임베디드 형식 설정 (CSS-in-JS, GraphQL 등)
Prettier 호환
기존의 Prettier 기반 워크플로우에 쉽게 통합됩니다.
oxfmt CLI는 기본적으로 Prettier와 유사하게 동작하여, 스크립트와 도구 변경 최소화로 도입 가능합니다.
Oxfmt는 Prettier의 자바스크립트 포매팅과 일치합니다. 최근 버전의 Prettier에서 마이그레이션할 경우 포매팅 차이가 발생하지 않아야 하며, 발생하는 차이는 모두 버그로 간주됩니다.
현재까지 약 95%의 Prettier 자바스크립트 및 타입스크립트 테스트 케이스를 통과하고 있습니다. 남은 사례들은 소수의 특수한 시나리오이며, 우리는 시간이 지남에 따라 포매팅을 일치시키기 위해 Prettier 팀과 협력하고 있습니다.
추가 종속성 또는 구성 없이 바로 사용 가능합니다.
시작하기
개발 종속성으로 oxfmt 설치:
pnpm add -D oxfmtpackage.json에 스크립트 추가:
{
"scripts": {
"fmt": "oxfmt",
"fmt:check": "oxfmt --check"
}
}파일 포매팅:
pnpm run fmt파일을 수정하지 않고 포매팅 확인:
pnpm run fmt:check