피드로 돌아가기
Dev.toDevOps
원문 읽기
Zero-dependency 설계를 통한 오프라인 기반 로컬 링크 검증 도구 linkbust 구현
Your docs have dead links. I built a zero-dependency CLI that catches the local ones — no network
AI 요약
Context
기존 Markdown 링크 검증 도구들이 다수의 의존성 패키지를 요구하거나 외부 네트워크 요청으로 인해 CI 환경에서 불안정한 Flaky Test를 유발하는 한계 존재. 특히 외부 URL 검증 시 발생하는 Rate Limit 및 네트워크 지연이 빌드 파이프라인의 병목 지점으로 작용.
Technical Solution
- Network-free 설계를 통한 외부 HTTP/mailto 요청의 완전 배제 및 로컬 파일 시스템 기반 검증으로의 범위 한정
- Standard Library만을 활용한 Markdown 파서 구현으로 Zero-dependency 아키텍처 달성
- GitHub-style slug 생성 로직을 통한 파일 내/간 Anchor 링크의 무결성 검증
- Code Block 내 링크를 식별하여 분석 대상에서 제외함으로써 False Positive 제거
- Node.js 및 Python 환경에서 동작 동일성을 보장하는 Byte-for-byte 포팅 설계
- Exit Code 1 반환 구조를 통한 CI/CD 파이프라인 및 Pre-commit Hook과의 유기적 결합
실천 포인트
1. CI 빌드 속도 향상을 위해 외부 API 호출이 필요한 검증 단계를 오프라인 검증과 분리했는가?
2. 도구의 신뢰성을 위해 외부 의존성을 최소화하고 Standard Library 중심으로 설계했는가?
3. 정기적인 문서 무결성 검사를 위해 Pre-commit Hook이나 CI 파이프라인에 자동화 도구를 통합했는가?