npm 라이브러리를 배포하는 일은 어렵지 않았다.
오히려 어려운 것은 문제점을 생각하고 그 문제를 해결하기 위한 방법을 떠올려서 그 해결책을 구현, 테스트, 적용을 해보고 npm 라이브러리로 깔끔하게 본을 뜨는 것이다.
NPM에 패키지 배포하고 사용해보기 (+ 타입스크립트)
특별히 아이디어가 있는 것은 아니었지만, npm 라이브러리를 한 번 만들어보고 배포해보자는 생각에 무작정 시작했던 토이 프로젝트이다.
색상과 관련된 기능들을 생각나는대로 추가하여 만든 colors-helper-tools라는 라이브러리였다.
처음에 npm을 배포하는 과정에서 이런저런 어려움과 생소함이 있었지만, 배포자체는 어렵지 않았다.
그 뒤로는 내 나름대로 다른 오픈소스들처럼 깃허브 배포 자동화를 시도해보기도 했다.
배포 자동화는 생각보다 간단했고, 공식 문서가 친절하게 잘 알려줘서 큰 어려움은 없었다.
다만, 자동화가 잘 되는지 테스트하는 게 번거로웠다... (릴리즈를 생성하면 자동으로 배포가 되도록 설정했는데, 매번 릴리즈를 생성하고 실패하는 과정을 거쳤다... 더 나은 방법이 있을 것 같다)
그 뒤로 좀 시간이 지나고, 좀 더 다양한 경험을 한 뒤 여러 새로운 기능들에 대해서 생각하게 되었다.
라이브러리를 번들링하여 하나의 파일로 제공하면 어떨까?
CLI 명령어 기능을 어떻게 하면 구현할 수 있을까?
commander.js를 사용한 js CLI 라이브러리 구현 (with 예제)
CLI 명령어를 사용하여 라이브러리의 사용 환경을 자동으로 세팅할 수 있는 라이브러리들이 있는데, CLI 명령어로 File Output은 어떻게 설정할 수 있을까?
commander를 이용한 JS CLI 라이브러리 File Output 생성하기
여러 새로운 기능들에 대한 질문이 생기면, 메모하고 직접 구현해보도록 노력하고 있다.
큰 동기부여를 가지고 시작한 프로젝트는 아니지만, 더 나은 뭔가를 위해서 고민하고 실제 행동으로 옮겨보는 것은 새삼스럽게 중요하게 느껴진다.
지금도 turborepo를 사용한 모노레포와 docusaurus를 사용한 라이브러리 docs 페이지 생성에 관심을 가지고 이슈로 등록해놓은 상태이다.
언제 이 TODO를 해치울지는 모르지만, 내가 뭘 해보고 싶은지 기록하고 직접 해보는 것을 통해 성장의 동력을 만들어나가고 있다.