Bleeding edge

Create-convention 0.0.19 업데이트 본문

Side Project

Create-convention 0.0.19 업데이트

codevil 2024. 7. 11. 11:58

1. 업데이트를 한 이유

create-convention는 작년에 회사에서 새로운 프로젝트를 자주 시작하다보니, 일일이 convention을 적용하는 것이 너무 번거로워서 이를 줄이기 위해 만든 라이브러리이다. (코드를 보니 그 당시에 라이브러리 만들고 코드 정리도 못하고 올렸었던 것 같다.. 회고가 없음이 그를 보여주는 증거..!) 코드 자체가 js로 작성이 되어있었고, 파일이 하나로 작성되어 있어서 가독성도 너무 떨어져서 수정하였다.

2. TS로 변환하면서 추가한 사항들

2-1. entry 포인트 수정

모든 기능을 index.js에 넣다보니, 기능 구분과 문제가 생겼을 때 원인 파악이 힘들었으며, 함수를 분리하여보기 힘들었다. 그래서 main.ts를 기준으로 기능을 분리하여 수정하였다.

2-2. main.ts

env-state는 커맨드를 사용하였을 때, cli코드를 한번실행하기만하면 됬었고, 프롬프트 자체가 한 번이다 보니, swich문으로 간결하게 정리할 수 있었다. 하지만 create-convention은 [prettier, estlint, vscode-settings, gitignore, prettierignore] 에 대한 설치 유무와 중복 설정시 overwrite할 것 인지를 물어보는 prompt가 필요하기 때문에 main.ts의 즉시 실행함수안에 프롬프트 실행을 기준으로 정리를 하였다. 이번 사이드를 진행하면서 느낀 것은 프롬프트로 질문을 많이하는 라이브러리 같은 경우에는 즉시 실행함수 + 프롬프트 분기 처리로 main.ts를 정리하는 것이 가독성이 좋아보인다.

2-3. husky 제거

husky는 여러 팀에 있으면서 느낀건 굳이- 라고 말하는 사람이 그래서인지 몰라도 convention보다는 CI/CD의 느낌이라 이번 버전에서 제거해두었다.

3. 다음 업데이트 때 추가할 것

prettier에는 문제가 없겠지만 eslint 같은 경우 eslint 옵션에 따라서 라이브러리를 추가로 설치해야하는데 이에 대한 것을 추가할 예정이다.