Zig Native Transpiler & Compiler
빠르고 가벼운 TypeScript 트랜스파일러
Zig 로 작성한 트랜스파일러 + 번들러. JavaScript · TypeScript · JSX · Flow 를 네이티브 속도로 처리하고, Vite/Rollup 호환 플러그인 시스템을 제공합니다.
import { transpile } from '@zntc/core';
const { code } = transpile(source, {
filename: 'input.tsx',
jsx: 'automatic',
target: 'es2022',
}); 트랜스파일
1K LOC · TypeScript
번들링
10 modules
faster
vs rolldown (small)
문서 페이지
ko · en 지원
2026-05-30 기준 · darwin arm64 · 50회 median
번들 성능 비교
vs Bun 5.0 · esbuild 6.5 · rolldown 48 · rspack 56 ms
vs Bun 16.1 · esbuild 19.7 · rolldown 65 · rspack 82 ms
vs Bun 55.2 · esbuild 73 · rolldown 119 · rspack 173 ms
2026-05-30 · darwin arm64 · 50회 median · fan-out tree fixture (자세히는 전체 벤치마크 →)
번들 크기 비교 — Tree-shake + Minify
속도뿐 아니라 출력 크기도 중요합니다. 실제 npm 라이브러리를 동일 입력으로 번들 + minify 한 raw 크기 (낮을수록 작음).
esbuild 217 KB · rspack 136 KB 대비 6.2× 작음 (tree-shaking)
esbuild 191 KB · rspack 142 KB 대비 1.25–1.69× 작음
esbuild / rolldown / rspack 와 사실상 동급 크기
2026-05-30 · darwin arm64 · 9개 실제 npm 라이브러리 · —minify-all (자세히는 전체 벤치마크 →)
왜 ZNTC 인가
기존 도구의 장점을 조합한 JavaScript/TypeScript 툴체인.
타입 어노테이션 제거
TypeScript 타입 · 인터페이스 · enum · decorator 를 네이티브 속도로 스트리핑합니다. Flow 도 독립 파이프라인으로 지원.
프로덕션 번들러
Tree-shaking · 코드 스플리팅 · preserve-modules · 소스맵. ESM · CommonJS · IIFE 출력. rolldown/esbuild 동급 속도.
React Native 대응
Metro 호환 번들링 · InitializeCore · Hermes 바이트코드 · Flow 스트리핑. Babel 이관 가이드 제공.
확장 가능한 플러그인
Rollup/Vite 호환 플러그인 API. JS/TS 로 확장, Vite 어댑터 · Rollup 어댑터 · AST 플러그인 지원.
사용 예시
CLI 한 줄부터 Vite 통합까지. 선호하는 방식으로 바로 시작할 수 있습니다.
# 설치npm install -g @zntc/core
# 번들zntc build src/index.ts --bundle --outdir dist
# watch 모드zntc build src/index.ts --bundle --watchimport { build } from "@zntc/core";
const result = await build({ entryPoints: ["src/index.ts"], bundle: true, outdir: "dist", target: "es2020", platform: "browser",});
console.log(`${result.outputFiles.length} files emitted`);import { defineConfig } from "vite";import zntc from "@zntc/vite-plugin";
export default defineConfig({ plugins: [ zntc({ jsx: "automatic", target: "es2022", }), ],});export default { module: { rules: [ { test: /\.(?:tsx?|jsx?)$/, exclude: /node_modules/, loader: "@zntc/rspack-loader", options: { transpileOptions: { target: "es2020", jsx: "automatic" }, }, }, ], },};지금 바로 시작하세요
5분이면 첫 번들이 나옵니다. Playground 에서 브라우저 안에서도 바로 실행 가능.