자습서: TypeScript를 사용하여 ESM 기반 npm 패키지 게시하기 | Axel Rauschmayer

ChatGPT o1으로 요약함


TypeScript로 ESM 기반 npm 패키지를 발행하는 간단한 방법을 소개합니다. 이 설정은 하위 호환성을 무시할 수 있는 패키지를 대상으로 하며, Node.js의 ‘require(esm)’ 지원을 활용합니다. 예제 패키지로 @rauschma/helpers를 사용하여 파일 시스템 구조, .gitignore 설정, 유닛 테스트 작성 및 패키지 자기참조 방법을 설명합니다. 유닛 테스트에서는 모듈 옆에 테스트 파일을 배치하고, 패키지 자기참조 기능을 활용하여 테스트 코드에서 패키지를 직접 참조합니다. tsconfig.json에서는 출력 디렉토리, 소스 맵 및 선언 파일 생성, 다른 도구와의 호환성을 위한 옵션을 설정합니다. package.json에서는 ESM 모듈에 대한 ‘.js’ 사용, 업로드할 파일 지정, exports와 imports 설정을 합니다. 패키지 스크립트에는 빌드, 테스트, 정리, 퍼블리시 등의 작업을 npm 스크립트로 정의합니다. 또한 개발 의존성 관리, TypeDoc을 통한 문서 생성, 린팅 도구 활용 등에 대해 설명합니다. 개발 의존성으로는 @types/node, mocha, shx, typedoc 등을 사용하여 테스트, 빌드 스크립트, 문서 생성을 지원합니다.