Repolode
terser

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. 1

    공식 사이트에서 Node.js를 설치합니다

  2. 2

    명령줄에서 사용하기 위해 npm에서 Terser를 전역 설치합니다

    npm install terser -g
  3. 3

    압축과 맹글링을 적용해 JavaScript 파일을 최소화합니다

    terser --compress --mangle -- input.js

사용 전 알아둘 점

  • 프로젝트 메타데이터에 라이선스가 명확히 명시되어 있지 않으므로, 상업적으로 사용하기 전에 저장소를 확인하세요.
  • --mangle-props로 프로퍼티 이름을 맹글링하면 정확히 무엇을 하는지 알고 있지 않는 한 코드가 손상됩니다.
  • 코드 포맷팅 기능은 문서화되어 있지 않고 제거될 예정이므로, 포맷팅에는 prettier 같은 도구를 사용하세요.

토픽

#javascript#minification#compression#source-map#parser#es6#build-tools#compressor#mangler#uglifyjs

자주 묻는 질문

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 통계는 매일 갱신됩니다.

관련 프로젝트