ESM 전용의 부상: JavaScript 생태계는 준비되었는가?

2025-03-24
ESM 전용의 부상: JavaScript 생태계는 준비되었는가?

이 글에서는 JavaScript 생태계에서 ESM(ECMAScript Module)의 현재 채택 현황을 살펴보고 ESM 전용으로 전환할 것을 주장합니다. 저자는 이전에 이중 CJS/ESM 형식을 지지하는 글을 작성했지만, 이제 ESM 전용으로 전환하는 이유를 설명합니다. Vite와 같은 최신 빌드 도구와 Nuxt, SvelteKit과 같은 프레임워크의 부상으로 ESM이 주요 모듈 시스템이 되었습니다. Node.js의 `require()`를 통한 ESM 모듈 지원으로 CJS와의 상호 운용성 문제가 더욱 해소되었습니다. 이중 CJS/ESM 패키지는 전환 메커니즘으로 기능했지만, 상당한 유지 보수 오버헤드와 상호 운용성 문제를 야기합니다. 저자는 새로운 프로젝트에는 ESM 전용을 권장하고 다양한 프로젝트 유형(브라우저, CLI)에 대한 지침을 제공합니다. 프로젝트 종속성에서 ESM 채택 상황을 분석하는 새로운 도구인 Node Modules Inspector도 소개합니다.

더 보기