부제: SSO·Husky·테스트 공백, 그리고 Better Auth·Biome까지
1~4편을 거쳐 경계·상태·UI·DB까지 왔다. 마지막은 인증, 린트·포맷·훅, 테스트다.
용어
- SSO(Single Sign-On): 한 번 인증하면 여러 시스템에 연동 로그인되게 하는 흐름. 사내 IdP가 있는 조직에선 보통 그 규칙을 따른다.
- Better Auth: 앱이 직접 붙이기 쉬운 인증 라이브러리 쪽(학습용 레포에 포함). SSO를 대체한다는 뜻이 아니라, 전제가 다르다.
- ESLint / Prettier: JS·TS 규칙 검사와 포맷을 나눠 맡기던 조합.
- Biome: 린트+포맷을 한 도구로 묶는 쪽에 가깝다.
- Husky: Git hook을 걸어 커밋 전 검사 등을 돌리게 하는 도구.
- Vitest: Vite 친화 단위·컴포넌트 테스트 러너.
- Playwright: 브라우저 E2E 테스트.
1) 회사에서는 사내 SSO
인증은 사내 SSO 전제였다. 조직 표준이 앞선다. 앱이 IdP를 새로 설계하는 그림이 아니다.
잠깐 개념: SSO가 줄이는 것
직원은 한 번의 로그인 체계로 업무 시스템을 오간다. 보안·감사·계정 수명은 중앙에서 다루는 경우가 많다.
2) 지금 학습 베이스 — Better Auth
레포에 better-auth가 있다. 토이·보일러에서 “로그인 흐름을 내 코드베이스 안에서 실험”하려는 선택에 가깝다. SSO 시절과 가장 다른 점은 IdP가 회사 밖이 아니라 앱 설계 안에 붙는다는 쪽으로 이해한다.
3) ESLint·Prettier·Husky — 기대와 달랐다
ESLint, Prettier, Husky를 써 봤다. Husky로 pre-commit·커밋 메시지 규칙을 걸고 싶었는데 생각만큼 잘 안 굴러갔다는 기억이 있다.
잠깐 개념: Git hook
커밋/푸시 직전에 스크립트를 돌린다. 팀 합의·예외 처리·CI 중복이 없으면 피로만 쌓일 수 있다.
4) 테스트는 아쉬웠고, Playwright는 소극적이었다
테스트 코드는 거의 없었다고 느낀다. Playwright는 도입했지만 소극적으로 갔다. 이유를 한 가지로 압축하긴 어렵다 — 당시 일정·우선순위·습관이 겹친 쪽으로만 기억한다.
5) 지금 레포 — Biome·verify·Vitest·Playwright
package.json 기준:
lint/lint:fix/format→ Biomeverify→biome check . && tsc --noEmit && vitest runtest/test:watch→ Vitesttest:e2e→ Playwright
한 줄로 돌릴 수 있게 스크립트를 묶어 둔 점이, 예전에 흩어져 있던 검사와 결이 다르다고 느낀다.
6) 시리즈 마무리
회사는 MSA·SSO·여러 UI 키트·JPA/MyBatis·형상관리를 조직 조건 안에서 굴렸다. 지금은 모던 웹 스택을 손에 익히기 위해 한 레포에 Next·tRPC·Drizzle·Biome·테스트 스크립트를 실험대처럼 얹어 보는 중이다.
둘 중 하나가 “정답”이라고 말하고 싶지는 않다. 내가 다음에 어디로 갈지를 정할 자료가 쌓이면 족하다.