--- id: P-REINFORCE-AUTO-C5884C category: "[[10_Wiki/πŸ’‘ Topics/Programming & Language]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Turborepo ν™˜κ²½ ꡬ성" --- # [[Turborepo ν™˜κ²½ ꡬ성]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > Turborepo λͺ¨λ…Έλ ˆν¬ ν™˜κ²½μ—μ„œ ESLint, Prettier, lint-stagedλ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ꡬ성 λ°©λ²•μž…λ‹ˆλ‹€ [1]. μ—¬λŸ¬ νŒ¨ν‚€μ§€μ— λΆ„μ‚°λœ 쀑볡 μ„€μ •κ³Ό κ·œμΉ™μ˜ 뢈일치 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ κ³ μ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1, 2]. 쀑앙 집쀑식 μ„€μ • νŒ¨ν‚€μ§€μ™€ 루트 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜(Root Orchestration)을 κ²°ν•©ν•˜μ—¬, 각 νŒ¨ν‚€μ§€μ˜ κ·œμΉ™μ„ μ‘΄μ€‘ν•˜λ©΄μ„œλ„ λΉ λ₯΄κ³  ν™•μž₯ κ°€λŠ₯ν•œ λ¦°νŒ… ν™˜κ²½μ„ μ œκ³΅ν•©λ‹ˆλ‹€ [3, 4]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **쀑앙 집쀑식 ꡬ성 νŒ¨ν‚€μ§€ ꡬ좕:** λͺ¨λ…Έλ ˆν¬ 내에 λ³„λ„μ˜ μ„€μ • νŒ¨ν‚€μ§€(예: `@repo/eslint-config`)λ₯Ό μƒμ„±ν•˜μ—¬ Base, Next.js, Library용으둜 μ‘°ν•© κ°€λŠ₯ν•œ 프리셋(preset) 섀정을 μ œκ³΅ν•©λ‹ˆλ‹€ [5, 6]. 이 νŒ¨ν‚€μ§€λŠ” ESLint 9의 평면 ꡬ성(flat config) ν˜•μ‹μ„ μ‚¬μš©ν•˜λ©°, 전체 λͺ¨λ…Έλ ˆν¬μ˜ λ¦°νŒ… κ·œμΉ™μ„ μ œμ–΄ν•˜λŠ” 단일 μ§„μ‹€ 곡급원(Single source of truth) 역할을 ν•©λ‹ˆλ‹€ [5, 7]. - **νŒ¨ν‚€μ§€λ³„ μžμœ¨μ„± 보μž₯:** κ°œλ³„ νŒ¨ν‚€μ§€μ—λŠ” μ΅œμ†Œν•œμ˜ `eslint.config.mjs` 파일만 남겨두고 쀑앙 νŒ¨ν‚€μ§€μ˜ 프리셋을 μž„ν¬νŠΈν•˜μ—¬ μ‚¬μš©ν•©λ‹ˆλ‹€ [7]. 이λ₯Ό 톡해 전체 μ½”μ–΄ κ·œμΉ™μ„ μΌκ΄€λ˜κ²Œ κ΄€λ¦¬ν•˜λ©΄μ„œλ„, ν•„μš”ν•œ 경우 νŠΉμ • νŒ¨ν‚€μ§€μ—μ„œ κ°œλ³„μ μΈ κ·œμΉ™ μ˜€λ²„λΌμ΄λ“œ(override)λ₯Ό μˆ˜ν–‰ν•  수 μžˆλŠ” μžμœ¨μ„±μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€ [7, 8]. - **루트 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ (Root Orchestration):** λͺ¨λ…Έλ ˆν¬ λ£¨νŠΈμ— μœ„μΉ˜ν•œ `eslint.config.mjs`μ—μ„œ 파일 νŒ¨ν„΄(glob νŒ¨ν„΄)을 ν™œμš©ν•΄ 각 νŒ¨ν‚€μ§€λ₯Ό μ μ ˆν•œ 섀정에 λ§€ν•‘ν•©λ‹ˆλ‹€ [9]. μ΄λŠ” `lint-staged`와 Husky 같은 도ꡬ가 λͺ¨λ…Έλ ˆν¬ λ£¨νŠΈμ—μ„œ 싀행될 λ•Œ 각 νŒ¨ν‚€μ§€μ˜ 경계와 고유 λ¦°νŒ… κ·œμΉ™μ„ μ •ν™•ν•˜κ²Œ μ€€μˆ˜ν•˜λ„λ‘ 보μž₯ν•˜λŠ” 핡심 μ„€μ •μž…λ‹ˆλ‹€ [4, 9]. - **Husky 및 lint-staged 톡합:** 루트 `package.json` 파일과 Husky의 `pre-commit` 훅을 μ—°λ™ν•˜μ—¬, μ½”λ“œκ°€ 컀밋될 λ•Œ 루트 섀정에 따라 λ³€κ²½λœ 파일만 효율적으둜 λ¦°νŒ…ν•˜λ„λ‘ κ΅¬μ„±ν•©λ‹ˆλ‹€ [10]. - **Turborepo μΊμ‹œ λ¬΄νš¨ν™” 적용:** `turbo.json` μ„€μ • λ‚΄ μ „μ—­ μ˜μ‘΄μ„±(`globalDependencies`)에 ESLint μ„€μ • νŒ¨ν‚€μ§€λ₯Ό λ“±λ‘ν•©λ‹ˆλ‹€ [10]. 이λ₯Ό 톡해 μ€‘μ•™μ˜ λ¦°νŒ… 섀정이 변경될 λ•Œλ§ˆλ‹€ Turborepoκ°€ λͺ¨λ“  κ΄€λ ¨ νŒ¨ν‚€μ§€μ˜ μΊμ‹œλ₯Ό μ •ν™•νžˆ λ¬΄νš¨ν™”(invalidate)ν•˜λ„λ‘ μ²˜λ¦¬ν•©λ‹ˆλ‹€ [10]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[ESLint]], [[Prettier]], [[lint-staged]], [[Husky]], [[Monorepo]] - **Projects/Contexts:** [[Turborepo 기반 닀쀑 νŒ¨ν‚€μ§€ ν”„λ‘œμ νŠΈμ˜ λ¦°νŒ… 및 μ½”λ“œ ν¬λ§€νŒ… μžλ™ν™” νŒŒμ΄ν”„λΌμΈ ꡬ좕]] - **Contradictions/Notes:** μ†ŒμŠ€λŠ” ESLint 9의 평면 ꡬ성 ν˜•μ‹μ„ κΈ°μ€€μœΌλ‘œ 졜적의 ν™˜κ²½ ꡬ성법을 μ œμ•ˆν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½ ESLint 8 ν™˜κ²½μ„ μ΄μš©ν•  κ²½μš°μ—λŠ” `eslint.config.mjs` λŒ€μ‹  `.eslintrc.js`λ₯Ό μ‚¬μš©ν•˜κ³  ES λͺ¨λ“ˆ λŒ€μ‹  CommonJSλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” λ“± 이전 ν˜•μ‹μ— 맞좘 ꡬ쑰적 쑰정이 λ³„λ„λ‘œ ν•„μš”ν•©λ‹ˆλ‹€ [11]. --- *Last updated: 2026-04-19* - Raw Source: [[00_Raw/2026-04-20/Turborepo ν™˜κ²½ ꡬ성.md]] ---