4.8 KiB
4.8 KiB
SW 작업 PC 이전 인수인계 (2026-10-20)
HMDesign 저장소(feature/sw-package)와 SW 소비 프로젝트(HMDesignSwTest-viewer)는 별개 저장소입니다. 이 문서는 HMDesign 저장소의 Push 범위만 다룹니다.
1. HMDesign 저장소
- 원격:
https://gitea.hmac.kr/b25027/HMDesign.git, 브랜치feature/sw-package(main 병합·Docker 배포는 아직 안 함) - 확인한 환경: Node.js v22.23.2, npm 10.9.8 (
engines지정 없음)
git clone -b feature/sw-package https://gitea.hmac.kr/b25027/HMDesign.git HMDesign-SW
cd HMDesign-SW
npm ci
npm run storybook # http://localhost:6024
npm run typecheck:sw
npm run build:sw
npm run build-storybook
npm run check:ai-docs
브라우저 테스트 (packages/sw/tests/*.browser.mjs)
Playwright는 저장소 의존성이 아닙니다. 모든 브라우저 테스트는 공통 모듈 packages/sw/tests/playwright-runtime.mjs로 Playwright(및 pngjs·pixelmatch)를 찾습니다(2026-10-20, PC별 절대경로 기본값 제거). 찾는 순서:
SW_PLAYWRIGHT_PATH— playwright 패키지 폴더(또는 진입 파일)SW_RUNTIME_MODULES—playwright가 설치된node_modules경로 (예: 별도 폴더에서npm i playwright후 그node_modules)HM_PLAYWRIGHT_DIR—node_modules/playwright를 가진 프로젝트 폴더(scripts/verify-quality-runtime.mjs와 같은 변수)- 저장소의
node_modules/playwright - 사용자 홈의 Codex 런타임
~/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules(사용자 이름과 무관) - 전역 npm(
npm root -g)
환경 변수로 지정한 경로에 Playwright가 없으면 다른 위치로 넘어가지 않고 시도한 위치를 보여 주며 실패합니다.
SW_CHROME_PATH— Chrome 실행 파일(기본C:/Program Files/Google/Chrome/Application/chrome.exe)- Firefox 테스트는 설치된 Firefox(
SW_FIREFOX_PATH)를 WebDriver BiDi로 사용하며 전역WebSocket이 필요합니다: Node 22 이상, 또는 Node 20에서는node --experimental-websocket <test> - 실행 전
npm run build-storybook(일부 테스트는npm run storybook의 6024 포트) 필요
2. 현재 상태와 남은 문제
- 완료: SW 기본 글꼴 Noto Sans KR 복귀, 요청 범위 Bold(sw-noto-bold-2026-10-20.md), Hover 위치 고정, Footer 말줄임·반응형, Header Open/More, Viewer Header More.
- 미해결(이번 이전에서 수정하지 않음): Firefox
Continuous6.4px 잘림, Composed Controls1.0000말줄임, 기존 테스트 기준선 실패(dropdown-consolidation 5, home-menu-integration 1), Figma와 글꼴(Dotum → Noto)·Home Menu Hover 1px 차이. - 다음 작업 우선순위: ① 소비 프로젝트
HMDesignSwTest-viewer정리·Submodule 갱신 ② FirefoxContinuous별도 검토 ③ 기준선 테스트 기대값 갱신 여부 결정 ④ main 병합·Docker 배포(별도 승인).
3. Git에 없는 자료
| 자료 | 위치(기존 PC) | 필수 여부 / 이전 방법 |
|---|---|---|
| Figma 원본 | 온라인 이지빔-SW(파일 키 rj6wpsfk24lOWvWiVRAANP), 로컬 사본 D:\디자인시스템\이지빔 SW.fig |
필수 아님 — Figma 계정으로 온라인 접근. 오프라인 사본이 필요할 때만 수동 복사 |
| 참고 이미지 | D:\디자인시스템\레이아웃 분리.png, ani_hover_move.gif(SHA-256은 sw-header-design-spec.md) |
필수 아님 — 값은 문서에 기록됨 |
| 브라우저 회귀 로그 | docs/sw/*-qa/**/*.log (*.log ignore) |
필수 아님 — FAIL 요약은 보고서에 기록 |
| DWG/DXF 샘플 | 소비 프로젝트 public/samples/(그 저장소에 Commit됨) |
소비 프로젝트 Clone으로 전달 |
| 로컬 설정 | .claude/settings.local.json, _local/, .env* |
이전 대상 아님 |
4. SW 소비 프로젝트 HMDesignSwTest-viewer (별도)
- 원격
https://gitea.hmac.kr/kimminsung/dwg-dxf-viewer-hm.git, HEAD15ef6ef(detached), SubmoduleHMDesign→68fbcf6(feature/sw-viewer-header) + Submodule 안 미커밋sw.css6줄. - 미커밋 변경 20개(수정 16·삭제 3·신규
ViewerHeader.tsx,viewer-panels.css,vite)가 있으며 HMDesign Push에 포함되지 않습니다. 이 세션은 해당 프로젝트를 수정하지 않았습니다. - 새 PC로 가져가려면 그 저장소에서 별도 승인 후 브랜치 Commit·Push 하거나,
node_modules·dist를 제외하고 폴더를 수동 복사해야 합니다. Push 전에는 원격 Clone만으로 재현되지 않습니다. - 구조: 소비 프로젝트 → Git Submodule
HMDesign+ npm Workspace(별도 npm publish 없음). 새 PC:git clone --recurse-submodules <소비 프로젝트 URL>→ Submodule을 원하는 SHA(feature/sw-package최신)로 checkout → 루트npm install. 상세는 external-install-submodule.md.