์ค๋ณต ์ฝ๋ ์ ๋ก, Turborepo๋ก ๊ตฌ์ถํ๋ ํ์ฅ ๊ฐ๋ฅํ Monorepo ์ํคํ ์ฒ
Stop Copy-Pasting UI Components: Master Turborepo Monorepos ๐๏ธ
AI ์์ฝ
Context
B2B SaaS ํ๋ซํผ ์ฑ์ฅ์ผ๋ก ์๋น์ค๋ณ ๊ฐ๋ณ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ Poly-repo ๊ตฌ์กฐ ์ฑํ. UI ์ปดํฌ๋ํธ์ ๋น์ฆ๋์ค ๋ก์ง ๋ณ๊ฒฝ ์ ๋ชจ๋ ์ ์ฅ์์ ์๋ ๋ฐ์ํ๋ ๋ฐ๋ณต ์์ ๋ฐ์. ์ฝ๋ ์ค๋ณต๊ณผ ์ค์ ๋ถ์ผ์น๋ก ์ธํ ์ฌ์ฉ์ ๊ฒฝํ ์ ํ ๋ฐ ๊ตฌ์กฐ์ ๋ถ์ฑ ๋์ .
Technical Solution
- Vercel์ Turborepo๋ฅผ ๋์ ํ์ฌ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ณต์ ํจํค์ง๋ฅผ ๋จ์ผ Git ์ ์ฅ์์์ ๊ด๋ฆฌํ๋ Monorepo ์ฒด๊ณ ๊ตฌ์ถ
@smarttech/ui,@smarttech/config์ ๊ฐ์ ๋ด๋ถ ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋์์ธ ์์คํ ๊ณผ ๊ณตํต ์ค์ ์ ์ค์ ์ง์คํ- pnpm ๋๋ yarn workspaces๋ฅผ ์ด์ฉํ ๋ด๋ถ ํจํค์ง ๋งํฌ ๋ฐฉ์์ผ๋ก NPM ๋ชจ๋๊ณผ ๋์ผํ ์ํฌํธ ์ธํฐํ์ด์ค ์ ๊ณต
turbo.jsonํ์ดํ๋ผ์ธ ์ค์ ์ ํตํด ์์ ๊ฐ ์์กด์ฑ ๊ทธ๋ํ๋ฅผ ์ ์ํ๊ณ ๋ถํ์ํ ๋น๋ ํ๋ก์ธ์ค ์ ๊ฑฐ- ์์ค ์ฝ๋ ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ๊ฐ์งํ์ฌ ๋ณ๊ฒฝ๋์ง ์์ ์์ ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ฆ์ ๋ณต๊ตฌํ๋ Intelligent Build Caching ์ ์ฉ
Key Takeaway
๋จ์ผ ์ง์ค ๊ณต๊ธ์(Single Source of Truth) ์์น์ ์ํคํ ์ฒ ์์ค์์ ๊ฐ์ ํ์ฌ ์ฝ๋ ์ค๋ณต์ ์์ฒ ์ฐจ๋จํ๊ณ ๋ฐฐํฌ ํจ์จ์ฑ์ ๊ทน๋ํํ๋ ์ ๋ต.
์ค์ฒ ํฌ์ธํธ
UI ์ปดํฌ๋ํธ ๋ณ๊ฒฝ์ด ์ฌ๋ฌ ์ฑ์ ๋์ ๋ฐ์๋์ด์ผ ํ๊ฑฐ๋ ๋น๋ ์๊ฐ์ด ๋ณ๋ชฉ์ด ๋๋ ๋ค์ค ํ๋ก์ ํธ ํ๊ฒฝ์์ Turborepo ๋์ ์ ๊ฒํ ํ ๊ฒ