πŸ“Œ κ°œμš”

monorepo μ—μ„œ μ‚¬μš©ν•˜λŠ” μ½”λ“œ ν’ˆμ§ˆ 도ꡬ(ESLint, Prettier, TypeScript, Husky)의 μ„€μ •κ³Ό μ‚¬μš© 방법을 μ •λ¦¬ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

λͺ¨λ“  ν”„λ‘œμ νŠΈ(React Vite, React CRA, Node.js Express, NestJS)λŠ” 곡톡 섀정을 기반으둜 κ΄€λ¦¬λ˜λ©°, ν”„λ‘œμ νŠΈ νŠΉμ„±μ— 따라 μ΅œμ†Œν•œμ˜ 차이만 λ‘‘λ‹ˆλ‹€.


1. πŸ“¦ ESLint

1-1. ꡬ쑰

1-2. Flat Config μ‚¬μš©

ESLint v9 κΈ°μ€€, .eslintrc λŒ€μ‹  eslint.config.js νŒŒμΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

React (Vite) μ•±

// apps/web-app/eslint.config.js
import { config } from "@repo/eslint-config/react";
export default config;

Node (NestJS) μ•±

// apps/auth-service/eslint.config.js
import { config } from "@repo/eslint-config/node";
export default config;

1-3. λͺ…λ Ήμ–΄

# 전체 μ›Œν¬μŠ€νŽ˜μ΄μŠ€ lint
npm run lint

# νŠΉμ • μ•±λ§Œ lint (μ•± package.json lint 슀크립트 ν•„μš”)
npm run lint --workspace=web-app


2. 🎨 Prettier

2-1. ꡬ쑰