
Node.js 라이브러리 배포 파이프라인에 플러그인 시스템 도입기
두줄요약
100개가 넘는 라이브러리를 관리하기 위해 배포 파이프라인에 플러그인 시스템을 도입한 사례를 소개했습니다. 공통 코어는 유지하면서 레포별 요구사항을 독립적으로 확장하는 구조를 설명했습니다.
핵심 내용
- 100개 이상 라이브러리를 운영하는 Node.js 모노레포에서 배포 파이프라인이 공통 로직과 개별 요구사항을 동시에 만족하지 못해 복잡해진 상황
- 공통 배포 라이브러리 수정 없이 확장할 수 있도록 플러그인 시스템을 도입하고, eslint 방식의 plugin spec과 hook 이벤트 구조로 설계
- 코드젠 검증, 사용량 수집, 메타데이터 경량화, 워크스페이스 의존성 버전 보정 등 다양한 운영 요구를 플러그인으로 분리
적용해볼 점
- 배포 단계별 이벤트 훅을 정의해 기능을 독립적으로 끼워 넣는 구조
- 공통 코어는 유지하고 레포별 요구는 플러그인으로 분리하는 운영 방식
- public API 사용 시점과 의존성 버전을 자동 추적해 버전 불일치 문제를 줄이는 접근
