Skip to content

스크립트

프로젝트에서 사용 가능한 npm/pnpm 스크립트입니다.

루트 (package.json)

스크립트명령설명
devturbo run dev모든 앱 dev 서버
buildturbo run build모든 앱 빌드
testturbo run test전체 테스트
test:e2eturbo run test:e2eE2E 테스트
lintturbo run lint전체 ESLint
formatprettier --write "**/*.{ts,tsx,md}"코드 포맷
docker:devdocker compose ... upDocker dev 스택
docker:dev:builddocker compose ... up --build재빌드 후 실행
docker:proddocker compose ... up -d프로덕션 배포
docker:downdocker compose down컨테이너 종료
docker:prisma:generateDocker exec → prisma generatePrisma Client 생성
docker:prisma:migrateDocker exec → prisma migrate deployDB 마이그레이션 적용
docker:db:setupgenerate + migrateDB 초기화 (최초 1회)
docker:prisma:studioDocker run → Prisma StudioDB 브라우저 (:5555)

web

스크립트설명
devVite dev server (포트 3001)
buildtsc + vite build
preview빌드 결과 미리보기
lintESLint
check-typesTypeScript 타입 체크
bash
pnpm --filter web dev
pnpm --filter web build

api

스크립트설명
devNestJS watch 모드
buildnest build
start프로덕션 시작
start:prodnode dist/main
testJest unit test
test:e2eJest E2E
lintESLint

Prisma CLI는 apps/api 디렉터리에서 직접 실행합니다:

bash
pnpm --filter api dev
pnpm --filter api test

# Docker 컨테이너 안에서 (권장)
pnpm docker:db:setup
pnpm docker:prisma:studio   # http://localhost:5555

docs

스크립트설명
devVitePress dev (포트 8000)
buildVitePress 정적 빌드
preview빌드 결과 미리보기
bash
pnpm --filter docs dev
pnpm --filter docs build

Firebase Hosting (CI)

docs 배포는 GitHub Actions에서만 자동 실행됩니다. main 브랜치에 apps/docs/** 변경이 push되면 .github/workflows/hosting-docs.yml이 빌드 후 Firebase Hosting에 배포합니다.

Firebase 설정: apps/docs/firebase.json

GitHub Secrets:

Secret설명
FIREBASE_PROJECT_IDFirebase 프로젝트 ID
FIREBASE_SERVICE_ACCOUNTFirebase 서비스 계정 JSON 전체

GitHub Actions 배포는 FIREBASE_PROJECT_ID secret으로 프로젝트를 지정합니다. 로컬에서 firebase deploy를 실행할 때는 .firebaserc를 추가하거나 --project 플래그를 사용하세요.

Turbo 필터 문법

bash
# 특정 앱만
pnpm --filter web <script>
pnpm --filter api <script>
pnpm --filter docs <script>

# 의존 패키지 포함 빌드
pnpm --filter web build   # ^build 자동 실행

관련 문서

Canvas — 시각적 프로토타입 에디터