메인 칼럼 개발일지 작업물 연락처
← cuenote 프로젝트
cuenote

모노레포 세팅하다가 하루 날림

모노레포ElectronVue 3초기 설정

처음에 그냥 단일 폴더에서 시작할까 했는데, 백엔드가 Python(FastAPI)이고 프론트가 Electron + Vue라서 아무리 봐도 모노레포가 맞았다. pnpm workspace 써보고 싶기도 했고.

구조 잡기

apps/core에 FastAPI, apps/desktop에 Electron + Vue를 넣고, 공유 타입은 packages/contracts에 몰아넣는 식으로 갔다. 처음 세팅할 때 pnpm-workspace.yaml 작성이 좀 헷갈렸는데 한번 잡고 나니까 각 앱이 독립적으로 빌드되는 게 확실히 편하다.

WSL2에서 Electron이 안 뜸

이게 좀 짜증났는데, pnpm 10이랑 Electron 조합이 WSL2에서 바로 실행이 안 됐다. electron이 postinstall에서 바이너리를 받는데 호이스팅 문제로 경로를 못 찾는 거였다. .npmrc에서 호이스팅 설정을 만져서 해결했는데, 이거 찾는 데만 몇 시간 걸린 듯.

UI는 Obsidian 참고

다크 테마 + 사이드바 파일 탐색기 구조를 Obsidian에서 많이 참고했다. 폰트는 Outfit이랑 JetBrains Mono를 넣었고, CSS 변수로 컬러 토큰을 잡아뒀다. 나중에 테마 전환 넣으려면 이때 잘 잡아놔야 해서.

솔직히 이 단계에서 뭔가 동작하는 게 없으니까 좀 지루했다. 근데 이 뼈대가 이후에 진짜 큰 차이를 만들었다.

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.