e34a325b5289dc19c3c0803fe66786770036a0f8
@yakcloud/ui (15 모듈, react peer, ds-sdk type-only): - globals.css 3분할(tokens/components/sheet.css; 680px→--sheet-body-max-height) - icons·primitives·controls·states, LineChart 6색 CSS 토큰화(+peakColorToken) - CardSheet/PanelSheets: apiGet 디커플(콘텐츠 prop 주입)·lockPageScroll(container?) 폴백 - decorators(statusMeta 등, ds-sdk enum 소비), getServiceMeta(type, logoBase) 로고 URL-only - 수정: tsconfig jsx:react-jsx, @types/react(-dom), CSS exports 서브패스 @yakcloud/api-client (3 모듈, react peer, ds-sdk type-only): - apiGet/apiSend/apiDownload + ApiClientError, usePoll(SWR·LRU·gen guard·401/403) - /api/v1 고정 훅 제외, 서버코드 유입 0(ApiCode만 ds-sdk에서) 검증: DAG PASS(ui↛api-client, api-client↛서버), 디커플 PASS, tsc --noEmit 통과(양 패키지). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
yakcloud-packages
YakCloud 데이터소스 웹 클라이언트 공용 패키지 모노레포(오픈소스, Apache-2.0).
설계·판정 근거: private-cluster docs/clients/{datasource-web-clients-design,phase-0-plan,scaffold-input,open-items-decisions}.md.
패키지 의존 DAG (단방향 강제)
ds-sdk (리프: zod·DTO·BIND_ENV SSOT·ApiCode)
▲ type-only
├── api-client (fetch·usePoll; ⛔ 서버코드 유입 금지)
└── ui (react peer; ⛔ api-client 참조 금지)
▲
└── client-shell (신규: 9종 데이터소스 웹 클라 셸)
auth-adapter (next-auth peer)
▲
bff-kit (ds-sdk + auth-adapter; respond/session/serialize/ratelimit; ⛔ api-client 참조 금지)
backup-core (zod; 신규 전체)
역의존 금지 3규칙: ①ds-sdk 절대 리프(serialize는 bff-kit) ②respond=bff-kit 전용(공유는 ApiCode 리터럴만 ds-sdk) ③ui→콘솔 금지(help-sheets 분리).
상태
B1 스캐폴드 스켈레톤(빈 골격). 실제 추출(B3~B6)·MinIO(Phase1)·백업(M5)은 후속.
Description
Languages
TypeScript
92.7%
CSS
6.5%
JavaScript
0.8%