60 lines
4.8 KiB
Markdown
60 lines
4.8 KiB
Markdown
# 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` 지정 없음)
|
|
|
|
```bash
|
|
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별 절대경로 기본값 제거). 찾는 순서:
|
|
|
|
1. `SW_PLAYWRIGHT_PATH` — playwright 패키지 폴더(또는 진입 파일)
|
|
2. `SW_RUNTIME_MODULES` — `playwright`가 설치된 `node_modules` 경로 (예: 별도 폴더에서 `npm i playwright` 후 그 `node_modules`)
|
|
3. `HM_PLAYWRIGHT_DIR` — `node_modules/playwright`를 가진 프로젝트 폴더(`scripts/verify-quality-runtime.mjs`와 같은 변수)
|
|
4. 저장소의 `node_modules/playwright`
|
|
5. 사용자 홈의 Codex 런타임 `~/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules`(사용자 이름과 무관)
|
|
6. 전역 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](./sw-noto-bold-2026-10-20.md)), Hover 위치 고정, Footer 말줄임·반응형, Header Open/More, Viewer Header More.
|
|
- 미해결(이번 이전에서 수정하지 않음): Firefox `Continuous` 6.4px 잘림, Composed Controls `1.0000` 말줄임, 기존 테스트 기준선 실패(dropdown-consolidation 5, home-menu-integration 1), Figma와 글꼴(Dotum → Noto)·Home Menu Hover 1px 차이.
|
|
- 다음 작업 우선순위: ① 소비 프로젝트 `HMDesignSwTest-viewer` 정리·Submodule 갱신 ② Firefox `Continuous` 별도 검토 ③ 기준선 테스트 기대값 갱신 여부 결정 ④ 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`, HEAD `15ef6ef`(detached), Submodule `HMDesign` → `68fbcf6`(`feature/sw-viewer-header`) + Submodule 안 미커밋 `sw.css` 6줄.
|
|
- 미커밋 변경 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](../guidelines/external-install-submodule.md).
|