Skip to content

전략: FE 생태계 수렴 기준으로 저장소 구현 모양을 표준화한다 #412

Description

@developer-1px

배경

저장소의 공개 개념과 패키지 경계는 비교적 명확하지만, 패키지 내부 책임 배치, 반복 lifecycle, 설정, 검증, 사이트 metadata에는 여러 구현 모양이 공존한다.

FE/TypeScript 생태계 조사에서는 다음 방향이 안정적으로 반복되었다.

  • 명시적인 package public boundary
  • feature/domain 중심의 책임 응집
  • 대상 생태계의 native contract 보존
  • shared configuration과 project-local 차이의 분리
  • 선언적인 project/task graph
  • file-based route와 route-local colocation
  • W3C Input·Composition event vocabulary

반면 모든 패키지에 적용할 단일 폴더 트리, 최대 LOC, 범용 Connector interface에는 생태계 수렴이 없다.

Goal Anchor

Outcome

FE 생태계에서 안정적으로 수렴한 모형을 저장소 구조의 명시적 정본으로 만든다.

Done

  • 각 하위 이슈가 하나의 외부 수렴 모형만 소유한다.
  • stable·emerging·contested 근거를 구분한다.
  • 구현 대상, 보존할 계약, 완료 증거를 명시한다.
  • 공개 API와 runtime 동작은 기본적으로 보존한다.
  • 이 이슈에서 전체 관계와 순서를 추적한다.

Don't

  • 모든 패키지에 동일한 폴더 트리를 강제하지 않는다.
  • 최대 LOC를 분할 기준으로 사용하지 않는다.
  • 작은 중복 제거를 위해 shared package를 만들지 않는다.
  • 서로 다른 Connector를 공통 interface에 맞추지 않는다.
  • DOM reconciliation 차이를 억지로 통합하지 않는다.
  • 기존 공개 API·표준·wire contract 변경을 암묵적으로 포함하지 않는다.

외부 기준

하위 이슈

실행 순서

  1. 구현 모양 RFC를 먼저 동결한 뒤 Editing과 Rich Text 책임 분리를 진행한다.
  2. DOM lifecycle RFC는 독립적으로 정본화한다.
  3. TypeScript project graph를 만든 뒤 workspace task graph와 test projects를 정리한다.
  4. 사이트 metadata와 shared UI style 책임은 서로 독립적으로 진행할 수 있다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicTracking issue for multi-step work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions