- 전수 순회: IA 전 라우트 412개 기능 인벤토리를 체크리스트 백로그로 관리 (docs/ops/e2e-full-sweep-2026-07-27.md), 신규 full-sweep 스펙 10파일 추가. RED→GREEN으로 결함 12건 수정: 관리자 무한 렌더 프리즈(TanStack autoReset 루프), 복수 코호트 저장 유실, 페르소나 보관 503(SQL 컬럼 모호성), PII 과잉 마스킹, /admin/ai watchdog 오탐 오버레이, 모바일 겹침 2건, 설정 스크롤 스파이, 온보딩 전화번호 무검증, 리뷰 조사·난도 라벨, pending 피드백 등. - 소유자 결정 구현: 설정 아바타 변경, 동의 철회·재동의 전체 흐름, 신규 학습자 기초 우선 추천, 학생 분석 테이블 가상화(@tanstack/react-virtual), 저작 모드 죽은 레일 정리, 감정 밸런스 타임라인 차트(deep turn_valence + 결정론 파생 폴백). - 디자인 감사(142차): 라이트 팔레트 AA 대비, 다크 토큰 별칭 통일, 미정의 CSS 변수 정리, 한글 keep-all 전역화, 탭 타깃 24px, LCP preconnect. - 검증: npm run e2e 병렬 432 수집 GREEN + 직렬 49/49 exit 0, 백엔드 pytest 421, gateway 29, typecheck/build/design-ssot/dead-code/중복 게이트 통과, layout-visual-gate 15/15, session-layout 8/8. 상세는 SSOT 대시보드 142~144차 노트.
49 lines
1.9 KiB
JSON
49 lines
1.9 KiB
JSON
{
|
|
"name": "@vignette/web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"description": "Vignette — AI 심리상담 시뮬레이션 훈련 플랫폼 (React 19 프론트)",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"generate:api-types": "node scripts/generate-api-types.mjs",
|
|
"check:api-types": "node scripts/generate-api-types.mjs --check",
|
|
"check:preview-hosts": "node scripts/check-preview-hosts.mjs",
|
|
"check:design-ssot": "node scripts/check-design-ssot.mjs",
|
|
"check:dead-code": "knip --include files,dependencies,unlisted,unresolved,binaries --treat-config-hints-as-errors",
|
|
"check:duplication": "jscpd src ../api/app --min-lines 8 --min-tokens 80 --ignore **/test_*.py,**/*_test.py,**/api.gen.ts,**/*.css,**/*.d.ts --threshold 0.05 --reporters console,threshold --no-tips",
|
|
"generate:live2d-assets": "node scripts/generate-live2d-assets.mjs",
|
|
"preview": "vite preview",
|
|
"typecheck": "tsc -b",
|
|
"lint": "tsc -b",
|
|
"e2e": "node scripts/run-e2e.mjs",
|
|
"e2e:list": "node scripts/run-e2e.mjs --list",
|
|
"e2e:parallel": "playwright test --project=chromium-desktop --project=chromium-mobile --workers=4",
|
|
"e2e:single-run": "playwright test --project=chromium-single-run --workers=1",
|
|
"e2e:headed": "playwright test --headed",
|
|
"e2e:ui": "playwright test --ui"
|
|
},
|
|
"dependencies": {
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@tanstack/react-virtual": "^3.14.8",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-router-dom": "^6.30.1"
|
|
},
|
|
"overrides": {
|
|
"gh-pages": "^6.3.0"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.61.1",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@vitejs/plugin-react": "^4.6.0",
|
|
"esbuild": "^0.25.12",
|
|
"jscpd": "5.0.12",
|
|
"knip": "^6.26.0",
|
|
"openapi-typescript": "^7.13.0",
|
|
"typescript": "^5.8.3",
|
|
"vite": "^6.3.5"
|
|
}
|
|
}
|