vignette/apps/web/package.json
Yun Chan 5c4ac04e06 preview host 허용 회귀 가드 추가 (check:preview-hosts)
배포 도메인 블랭크(vite preview allowedHosts 누락) 재발을 막는 행동 검증
스크립트를 추가. preview를 띄워 공개 Host(vnet/api-vnet/chanpaca) 3종이
200으로 허용되고 임의 Host는 403으로 차단(DNS 리바인딩 보호 유지)되는지
http.request로 직접 Host 헤더를 보내 확인한다. package.json에
check:preview-hosts로 등록.

검증: npm run check:preview-hosts → 공개 3 allowed + unlisted blocked PASS,
exit 0. 대시보드 104차 갱신.
2026-06-30 12:27:46 +09:00

39 lines
1.2 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",
"generate:live2d-assets": "node scripts/generate-live2d-assets.mjs",
"preview": "vite preview",
"typecheck": "tsc -b",
"lint": "tsc -b",
"e2e": "playwright test",
"e2e:headed": "playwright test --headed",
"e2e:ui": "playwright test --ui"
},
"dependencies": {
"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",
"openapi-typescript": "^7.13.0",
"puppeteer-core": "^25.2.1",
"typescript": "^5.8.3",
"vite": "^6.3.5"
}
}