Skip to content

빌드: workspace 검증과 패키징을 선언적 task graph로 전환한다 #418

Description

@developer-1px

상위·선행 이슈

배경

루트 verify:companionspack:companions는 모든 package를 긴 shell chain으로 직접 나열한다. package를 추가할 때 workspaces, verify, pack과 dependency pre-script를 여러 곳에서 수정해야 한다.

외부 수렴 근거

  • npm Workspaces: 전체 또는 선택 workspace에서 동일 script 실행
  • TypeScript build mode: project reference graph에 따른 build ordering
  • Nx Run Tasks: project graph에서 task graph, 병렬 실행과 dependency ordering 파생

별도 orchestrator 채택 여부는 수렴하지 않았으므로, 먼저 현재 npm workspace에서 가능한 최소 선언 구조를 기준으로 한다.

목표

workspace와 package metadata를 task 대상의 정본으로 삼아 수동 package 목록을 제거한다.

범위

  • verify 대상 파생
  • pack 대상 파생
  • package dependency ordering
  • missing optional script 처리
  • release check 구성

보존할 계약

  • package별 verify 의미
  • release gate 범위
  • standard/docs/site/browser 검증
  • dry-run package 검증

제외 범위

  • 근거 없는 Nx/Turborepo 도입
  • remote cache
  • CI provider 변경
  • 검증 단계 삭제

완료 조건

  • 새 library workspace 추가 시 루트 package 목록을 중복 수정하지 않는다.
  • build와 verify 순서는 dependency graph로 설명된다.
  • 현재 release check가 검증하는 범위를 그대로 증명한다.

검증

  • npm run verify
  • npm run release:check 또는 동일 범위의 dry-run
  • 신규 임시 workspace 없이 정적 대상 누락 검사

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions