Skip to content

2주차 화요일 개발 환경 관련 회의

서완석 edited this page Nov 29, 2024 · 1 revision

회의 장소 및 일시

일시 November 5, 2024 11:10 AM
장소 중앙대 310관(100주년 기념관)

내용

1. 패키지 매니저

npm, yarn berry, pnpm

각자 학습과 간단한 구현을 통해 어느 정도 사용에 대해 익숙해진 후 결정.

  1. npm
    • 가장 익숙하지만, 성능이 떨어진다.
    • 다른 패키지 매니저에 대해 학습하고 적용해도 재밌을 것 같다.
  2. Yarn Berry
    • 어제도 임시로 구현해보았지만, Plug & Play 가 익숙하지 않다.
    • 주엽 — prettier 도 바로 사용하지 못하고 우회해서 사용하는 방법을 적용해야 한다.
  3. pnpm
    • 성능도 보장되고, node_modules 가 있어서 더 익숙한 것 같다.
    • 그리고 모노레포 관련해서 설정이 아주 쉽다. 기능도 많다.

-> pnpm 으로 결정!

2. Turborepo

  • 명령어를 하나로 관리하는 것만으로도 충분히 장점이 있다.
    • 개발 단계에서도, 배포단계에서도 불필요한 작업을 줄일 수 있을 것 같다.
  • 학습곡선이 그리 가파르지 않다.

-> Turborepo 를 사용하기로 결정!

3. Husky

  • 휴먼 에러를 줄일 수 있다는 장점이 있다.
  • 완석, 희철, 정한 — 이야기만 들어봐서 한번쯤 사용해보고 싶다.
  • 주엽 — ESLint, Prettier 설정해놓고, 린팅을 자주 놓친다.
    • 강제적으로 설정해서, 코드 스타일을 일관성 있게 유지하자.

-> Husky 도 사용하기로 결정!

4. Typescript, ESLint 및 Prettier, 그리고 모노레포

  • 모노레포를 관리하면서, 공통 설정들을 상위에서 관리하고, workspaces 에서 사용하는 것이 가능하다.
  • 하지만, vite 로 react-ts 를 설정하고, nestCli 로 nest 설정을 해보니, 공통부분을 묶을 필요성이 좀 적어보인다.
    • 심지어, 린팅과 포매팅은 터보레포로 한번에 수행할 수 있고, Husky 로 커밋마다 수행할 수도 있다.

ESLint 는 Airbnb 의 스타일을 따르기로 했으니, React 와 Non-React 가 어차피 다르다.

→ 각 workspaces 별로 관리한다.

Prettier 설정은 모두가 같이 설정해두었으니, rott 에 하나만 있어도 된다.

→ root 에서 관리한다.


액션 아이템

  • 내일은 CI/CD에 대해 회의하기
Clone this wiki locally