대상 환경에서 실행할 수 있도록 차세대 JavaScript 문법을 변환하는 컴파일러입니다.
terser/terser
ES6+ 코드를 파싱하고 이름을 맹글링 및 압축하는 JavaScript 툴킷으로, 최신 JavaScript를 최소화하기 위해 유지 관리되는 uglify-es 포크입니다.
- 스타
- 9,357
- 포크
- 484
- 열린 이슈
- 379
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
Terser는 파싱, 이름 맹글링, 압축 기능을 제공하는 JavaScript 코드 최소화 툴킷입니다. uglify-es 프로젝트가 더 이상 유지 관리되지 않고 uglify-js가 ES6+ 구문을 지원하지 않아 포크로 만들어졌습니다. Terser는 uglify-es 및 uglify-js@3와 API와 CLI의 호환성을 대부분 유지하므로 기존 설정에서 대체해 사용할 수 있는 경우가 많습니다.
명령줄에서 사용하거나, 압축·맹글링·서식 적용을 한 번에 수행하는 비동기 minify() 함수를 통해 프로그램에서 사용할 수 있습니다. 설정에는 압축기 패스, 소스 맵 생성, 여러 파일 묶음을 최소화할 때 사용하는 이름 캐시, 지정한 주석이나 클래스 및 함수 이름 보존 옵션이 포함됩니다. 정규식과 예약 이름 제어 기능을 갖춘 속성 이름 맹글링도 지원하지만, 주의해서 사용하지 않으면 코드가 깨질 수 있다고 프로젝트에서 경고합니다.
프로젝트는 코드 보기 좋게 정리하는 기능을 제거할 예정이라고 밝히며 해당 작업에는 prettier를 권장하고, 모듈 번들링에는 RollupJS를 제안합니다.
핵심 기능
- 01ES6+ JavaScript 구문을 파싱하고 최소화합니다.
- 02설정 가능한 압축기 옵션과 여러 패스를 사용해 코드를 압축합니다.
- 03지역 변수 이름과 선택적으로 속성 이름을 맹글링합니다.
- 04컴파일된 출력에서 만든 맵을 포함해 소스 맵을 생성합니다.
- 05CLI와 프로그램에서 사용할 수 있는 minify() API, 브라우저 번들을 제공합니다.
활용 사례
- 프로덕션 웹 배포용 JavaScript 번들을 최소화합니다.
- 기존에 uglify-js를 사용하던 빌드 파이프라인에서 ES6+ 코드를 압축합니다.
- 압축된 코드를 원본과 대조해 디버깅할 수 있도록 소스 맵을 생성합니다.
빠른 시작
- 1
공식 사이트에서 Node.js를 설치합니다
- 2
명령줄에서 사용하기 위해 npm에서 Terser를 전역 설치합니다
npm install terser -g - 3
압축과 맹글링을 적용해 JavaScript 파일을 최소화합니다
terser --compress --mangle -- input.js
사용 전 알아둘 점
- 프로젝트 메타데이터에 라이선스가 명확히 명시되어 있지 않으므로, 상업적으로 사용하기 전에 저장소를 확인하세요.
- --mangle-props로 프로퍼티 이름을 맹글링하면 정확히 무엇을 하는지 알고 있지 않는 한 코드가 손상됩니다.
- 코드 포맷팅 기능은 문서화되어 있지 않고 제거될 예정이므로, 포맷팅에는 prettier 같은 도구를 사용하세요.
토픽
자주 묻는 질문
- terser은(는) 무엇인가요?
- ES6+ 코드를 파싱하고 이름을 맹글링 및 압축하는 JavaScript 툴킷으로, 최신 JavaScript를 최소화하기 위해 유지 관리되는 uglify-es 포크입니다. Terser는 파싱, 이름 맹글링, 압축 기능을 제공하는 JavaScript 코드 최소화 툴킷입니다. uglify-es 프로젝트가 더 이상 유지 관리되지 않고 uglify-js가 ES6+ 구문을 지원하지 않아 포크로 만들어졌습니다. Terser는 uglify-es 및 uglify-js@3와 API와 CLI의 호환성을 대부분 유지하므로 기존 설정에서 대체해 사용할 수 있는 경우가 많습니다.
- terser은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- terser은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- terser은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. terser의 마지막 커밋은 2026년 10월 5일입니다.
- terser은(는) 어디에 사용할 수 있나요?
- 프로덕션 웹 배포용 JavaScript 번들을 최소화합니다. 기존에 uglify-js를 사용하던 빌드 파이프라인에서 ES6+ 코드를 압축합니다. 압축된 코드를 원본과 대조해 디버깅할 수 있도록 소스 맵을 생성합니다.
- terser는 어떻게 설치하나요?
- 공식 사이트에서 Node.js를 설치합니다 명령줄에서 사용하기 위해 npm에서 Terser를 전역 설치합니다: npm install terser -g 압축과 맹글링을 적용해 JavaScript 파일을 최소화합니다: terser --compress --mangle -- input.js
- terser은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/terser/terser
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
JavaScript로 성능 테스트를 작성하고 Go 바이너리로 실행하는 오픈 소스 부하 테스트 도구입니다.
여러 작성자가 소스 텍스트를 수정하고, language-server span과 v3 source map을 통해 결과를 원본에 매핑하는 의존성 없는 TypeScript 라이브러리입니다.
웹에서 선언형 shape, swirl, burst, stagger 애니메이션을 만드는 JavaScript 모션 그래픽 라이브러리입니다.
로컬 재인코딩으로 원하는 파일 크기에 맞춰 동영상을 압축하는 GTK4/libadwaita 데스크톱 앱입니다.
페이지 로딩 시간을 줄여 주는 WordPress 사이트용 캐싱 및 성능 최적화 플러그인입니다.