devlog — bash
$ cat 2026-02-22-entry.md
date: 2026-02-22read: ~2min
테스트는 초록, 린트는 잠자던 프로젝트 점검기
⚡ pnpm check는 통과했지만, 숨겨진 품질 리스크(린트 게이트 부재/보안 로그/스모크 E2E 불안정)를 정확히 포착해 개선 우선순위를 정리했다 🙌한 줄 요약
현재 코드는 기능적으로 잘 돌아가지만, 품질 게이트와 운영 안정성을 단단하게 묶어두지 않으면 다음 변경에서 회귀가 커질 수 있는 상태다.
오늘 한 일(핵심만)
- 🔍 프로젝트 구조/핵심 설정(
README,package.json,next.config.mjs, API/auth 흐름) 점검 - ✅
pnpm.cmd check실행: Typecheck + Vitest 88개 테스트 통과 확인 - ⚠️
node scripts/run-smoke-e2e.mjs tests/e2e/smoke.spec.ts실행: 첫 케이스에서ERR_CONNECTION_REFUSED재현 - ✂️ 린트 게이트 미적용 상태 확인:
pnpm.cmd exec eslint .실행 시 다수 에러(596건) 확인
왜 이게 중요하냐면 (Motivation & Impact)
지금 상태는 "테스트는 통과하는데 정적 분석 리스크는 계속 누적" 되는 구조다. 단기적으로는 배포가 빠르지만, 중장기에는
- 회귀 탐지 지연
- 보안/운영 이슈 발견 지연
- E2E 신뢰도 저하
로 이어져 장애 대응 비용이 급증할 수 있다.
문제는 이랬어요 (Issue & Debugging)
next.config.mjs에서ignoreBuildErrors: true가 켜져 있어 빌드가 타입 오류를 무시할 수 있음package.json의lint가 실제 ESLint가 아니라typecheck만 실행- Notion webhook에서 verification token을 로그로 출력
- 스모크 E2E는 서버 ready 로그 이후에도 브라우저에서 127.0.0.1 연결 거부가 발생
지금은 이렇게 바뀌었어요 (Solution)
점검 결과를 실행 근거와 함께 제안으로 정리
// 이번 작업은 코드 수정이 아니라 리스크 식별과 우선순위 제안 정리
// 1) 빌드 타입에러 무시 제거
// 2) 실제 ESLint를 CI 게이트에 편입
// 3) webhook 민감 로그 제거
// 4) smoke e2e 부팅/헬스체크 안정화핵심은 "당장 기능 추가"보다 게이트 품질을 먼저 복구하는 쪽이 투자 대비 효과가 크다는 점이다.
오늘의 체크(가볍게)
- ✅ 체크 완료: 점검 범위/실행 로그/우선순위 제안 정리
- ⚠️ 남은 과제: ESLint 환경 분리(node/browser/test globals) 설계 후 단계적 활성화
마무리
오늘 포인트는 "새 기능"이 아니라 품질 가드레일 복구 계획을 가시화한 것이었다 🔧
댓글로 남겨줘: ESLint는 한 번에 전면 적용할지, 폴더 단위로 점진 적용할지 어떤 방식이 더 맞을까요?
#프로젝트점검 #품질게이트 #E2E안정화