Oxfmt 베타
Oxfmt가 베타에 도달했습니다.
Oxfmt는 JavaScript 생태계를 위한 Rust 기반·Prettier 호환 코드 포매터입니다. 최신 도구와의 완전한 호환을 목표로 하며 성능은 크게 개선되었습니다.
벤치마크상 캐시 없는 첫 실행에서 Prettier보다 30배 이상, Biome보다 3배 이상 빠릅니다. 전체 결과는 벤치마크를 참고하세요.
12월 알파 이후 추가 파일 형식 지원, 임베디드 언어 포맷, import 정렬, Tailwind CSS 지원 통합, 안정성·호환성 개선을 진행했습니다.
이미 넓게 쓰이고 있습니다. 예: openclaw/openclaw, vuejs/core, vercel/turborepo, huggingface/huggingface.js, getsentry/sentry-javascript, npmx-dev/npmx.dev 등.
시작하기
개발 의존성으로 oxfmt 설치:
pnpm add -D oxfmtpackage.json에 스크립트 추가:
{
"scripts": {
"fmt": "oxfmt",
"fmt:check": "oxfmt --check"
}
}포맷 실행:
pnpm run fmt파일을 쓰지 않고 검사만:
pnpm run fmt:checkPrettier에서 옮기기
설치, 설정 마이그레이션, 재포맷을 한 번에:
pnpm add -D oxfmt && pnpm oxfmt --migrate prettier && pnpm oxfmt전체 가이드는 Prettier에서 마이그레이션을 참고하세요.
AI 마이그레이션 프롬프트
AI 코딩 어시스턴트에 줄 프롬프트 예시:
Migrate this project from Prettier to Oxfmt following https://oxc.rs/ko/guide/usage/formatter.html:
1. Install oxfmt and run `oxfmt --migrate prettier`
2. Update package.json scripts to use oxfmt
3. Update CI workflows to use `oxfmt --check`
4. Update lint-staged to use `oxfmt --no-error-on-unmatched-pattern`
5. Run oxfmt to reformat all files
6. Uninstall prettier and related packages
7. Update editor settings for oxfmt
8. Update CONTRIBUTING.md, AGENTS.md, or CLAUDE.md if they mention prettier자세한 설명은 Oxfmt 문서를 참고하세요.
알파 이후 주요 신규 기능
Prettier 호환 100%
Oxfmt는 Prettier JavaScript·TypeScript 적합성 테스트를 100% 통과합니다. 남은 불일치는 Prettier 팀에 보고했으며 기대 동작에 맞추도록 협력 중입니다.
Prettier에서 자신 있게 옮길 수 있으며, 빠진 케이스는 보고해 주세요.
추가 파일 형식
JavaScript, JSX, TypeScript, TSX, JSON, JSONC, JSON5, YAML, TOML, HTML, Angular, Vue, CSS, SCSS, Less, Markdown, MDX, GraphQL, Ember, Handlebars를 포맷합니다. 프로젝트 전체를 하나의 포매터로 처리할 수 있습니다.
Tailwind CSS 연동
JS/TS가 아닌 파일까지 Tailwind CSS 클래스 정렬을 자동 지원합니다. prettier-plugin-tailwindcss 기능이 내장되어 플러그인이 필요 없습니다.
Import 정렬
내장 import 정렬과 설정 옵션:
ignoreCase— 대소문자 무시 정렬sortSideEffects— 사이드 이펙트 import 정렬newlinesBetween— import 그룹 사이 빈 줄groups— 사용자 정의 그룹 순서customGroups— 사용자 정의 그룹 규칙
더 많은 옵션은 전체 레퍼런스를 참고하세요.
package.json 정렬
package.json 필드 정렬이 기본 켜져 있어 package.json이 일관되게 정리됩니다.
임베디드 언어 포맷
템플릿 리터럴 속 코드 포맷:
- styled-components 유사 문법,
styled-jsx, CSS prop 등 CSS-in-JS - Angular
@Component템플릿·스타일
Node.js API
프로그래밍 API를 제공합니다.
import { format, type FormatOptions } from "oxfmt";
const input = `let a=42;`;
const options: FormatOptions = {
semi: false,
};
const { code } = await format("a.js", input, options);
console.log(code); // "let a = 42"CLI 변경
--init— 새 설정 파일 부트스트랩--migrate prettier— Prettier 설정 마이그레이션--migrate biome— Biome 설정 마이그레이션--stdin-filepath— stdin 입력의 파일 경로 지정- 글롭 확장 지원 —
oxfmt './packages/**/*.{js,jsx}'
설정 변경
overrides— 파일 패턴별 옵션insertFinalNewline— 끝 줄바꿈 제어insert_final_newline용.editorconfig지원
에디터 지원
VS Code, Cursor, Zed, IntelliJ IDEA, WebStorm, Neovim, LSP를 쓰는 에디터 등 지원 환경에서 동작합니다.
로드맵
안정판을 향해 계속 개선합니다.
- Prettier 플러그인 지원
- xxx-in-js 포맷 개선
- 안정성
- 성능 최적화
다음 단계
전체 설치 가이드는 Oxfmt 문서를 참고하세요.
이슈 보고
포맷 차이는 포맷 차이 논의를 참고하세요.
커뮤니티
피드백을 환영합니다.
- Discord: 커뮤니티 서버
- GitHub: Formatter RFC
- Issues: 이슈 트래커


