원문 캡처 · github.com
원문 캡처 · github.com

Whimsical이 ClojureScript 컴파일러 포크인 Clojurific를 공개했다. JavaScript ES 모듈과 Vite 도구 체계에 맞춰 빌드·실행 성능을 개선하는 프로젝트로, 브라우저와 Node.js 백엔드에서 사용할 수 있다.

Clojurific는 ClojureScript 1.12.145를 기반으로 하며 기존 라이브러리와의 호환성을 목표로 한다. 제작사에 따르면 Whimsical은 프런트엔드와 백엔드 서비스에 이 컴파일러를 사용하고 있다. 다만 새 프로젝트이며 다른 환경에서 광범위하게 시험되지는 않았다. 변경 사항 대부분은 코딩 에이전트가 작성됐고, 기능 회귀 위험이 커질 수 있다고 프로젝트는 설명한다. 기존 컴파일러와의 완전한 호환성도 보장하지 않는다.

프로젝트가 공개한 성능 비교에서는 ClojureScript 자체 벤치마크 185개를 shadow-cljs 3.5.7 릴리스 빌드와 비교했다. Node.js 26, Apple M1 Max에서 각각 7회 실행한 결과 Clojurific는 총 4.7초, shadow-cljs는 8.2초가 걸렸다. Whimsical 앱의 성능 테스트에서는 Clojurific 빌드가 shadow-cljs 빌드보다 약 30% 적은 시간이 걸렸다고 밝혔다. 40만 줄 규모 앱의 프로덕션 빌드는 각각 55초와 125초였다.

빌드 시간과 번들 크기 수치는 Whimsical 앱에서 측정했다. 개발 빌드 시간과 핫 리로드 속도는 자동 벤치마크를 하지 않았으며, 2배 이상 빠르게 느껴졌다는 설명은 주관적 평가다. Clojurific 빌드의 전체 JavaScript 크기는 27.0MB로 shadow-cljs의 25.8MB보다 컸고, 초기 페이지 로드 크기도 더 컸다.

시작 프로젝트는 npm create clojurific@latest로 만들 수 있으며 Vanilla, Reagent, UIx, Hono 템플릿을 제공한다. Node.js 20과 Java 17 이상이 필요하고, Vite 플러그인은 Vite 8을 요구한다. 자세한 설치·사용법과 변경 사항은 저장소 문서와 변경 기록에서 확인할 수 있다.

부록: 원문 예시

text
<script type="module" src="/src/my/app.cljs"></script>