v4.7.0: XSS 막고 Worker도 안전하게 종료
commitsradar_fun_meter · e3fee22

v4.7.0: XSS 막고 Worker도 안전하게 종료

🤖 1541 in / 746 out / 2287 total tokens HTML 리포터에 XSS 취약점이 있었다. 사용자 입력값이 그대로 HTML에 노출되는 지점 6곳을 찾아 escapeHTML()로 감쌌다. name, advice, suggestions, cluster, scoreCurve.pattern까지 전부. 병렬 처리도 손봤다. --para

이더2026.03.011 min read
XSS보안Worker
_percentile 유틸리티 모듈로 추출해서 중복 코드 싹 정리했다
commitsradar_fun_meter · c32ee58

_percentile 유틸리티 모듈로 추출해서 중복 코드 싹 정리했다

🤖 1575 in / 1031 out / 2606 total tokens FunMeter 클래스랑 server/index.js에 각각 따로 구현해뒀던 _percentile 함수를 src/utils/percentile.js로 뽑아냈다. 총 11곳 호출을 공유 모듈로 교체했고 테스트 325개 전부 통과. package.json 버전은 4.0.0에서 4.5

이더2026.03.011 min read
refactoringutilscode-duplication
FunMeter 방어 코드 추가, 브랜치 커버리지 90% 달성
commitsradar_fun_meter · 017a446

FunMeter 방어 코드 추가, 브랜치 커버리지 90% 달성

🤖 2286 in / 869 out / 3155 total tokens v4.5.0에서는 FunMeter 핵심 메서드에 방어 코드를 추가하고, 테스트 케이스를 45개 보강해 브랜치 커버리지를 90% 이상으로 끌어올렸다. FunMeter.run()에선 runs 매개변수가 1 미만일 경우 RangeError를 던지도록 했다. 음수나 0이 들어오면 의미

이더2026.03.012 min read
testingdefensive-programmingcode-coverage
v4.4.0 — CLI 검증 강화와 `||` → `??` 교훈
commitsradar_fun_meter · a639a1c

v4.4.0 — CLI 검증 강화와 `||` → `??` 교훈

🤖 1398 in / 1211 out / 2609 total tokens CLI 입력 검증을 대폭 강화하고 SmartBot의 데드 코드를 정리했다. runner.js에서 || 연산자 4곳을 ??로 교체했다. --runs=0처럼 falsy 값을 의도적으로 전달하면 기본값으로 덮어쓰는 버그가 있었다. parser.js에는 --runs, --maxSeco

이더2026.03.012 min read
CLIvalidationnullish-coalescing
v4.3.0: 타입 정의 동기화와 새로운 봇 익스포트
commitsradar_fun_meter · c23c31b

v4.3.0: 타입 정의 동기화와 새로운 봇 익스포트

🤖 877 in / 582 out / 1459 total tokens TypeScript 타입 정의 파일에 ScoreCurve 인터페이스를 추가했다. 점수 성장 곡선 분석 결과를 담는 타입으로, 버킷 배열과 성장 패턴, 전반부/후반부 성장률을 포함한다. RunResult에 suggestions와 scoreCurve 필드도 추가했고, generateSu

이더2026.03.011 min read
typescriptnpmexport
테스트 커버리지 대폭 상승 — runner.js 94%, init.js 99% 달성
commitsradar_fun_meter · e21fec4

테스트 커버리지 대폭 상승 — runner.js 94%, init.js 99% 달성

🤖 997 in / 711 out / 1708 total tokens v4.2.0에서 runner.js와 init.js의 테스트 커버리지를 집중적으로 보강했다. 총 274개 테스트가 통과했고, Statements 96%, Branches 84%로 커버리지 게이트를 무사히 넘겼다. cli-runner.test.js에는 A-3부터 E-share까지 약

이더2026.03.012 min read
테스트커버리지Jest
v4.2.0 Runner 및 Init 모듈 커버리지 99% 달성
commitsradar_fun_meter · e21fec4

v4.2.0 Runner 및 Init 모듈 커버리지 99% 달성

🤖 997 in / 1376 out / 2373 total tokens runner.js의 ML 봇 로딩과 runNormal의 에러 처리, init.js의 인자 파싱 및 디렉토리 생성 로직을 상세 테스트 케이스로 추가했습니다. mockExit 헬퍼를 구현하여 runInit의 예외 흐름을 철저히 검증했으며, 결과적으로 Statements 96%, Bra

이더2026.03.011 min read
coveragetestv4.2.0
v4.1.0: CLI 커버리지 90%+ 달성
commitsradar_fun_meter · 421d7a3

v4.1.0: CLI 커버리지 90%+ 달성

🤖 730 in / 1705 out / 2435 total tokens CLI 모듈 핵심 로직을 전 경로 테스트로 보완했습니다. formatter.js는 100%, runner.js는 81% 커버리지를 달성하여 전체 커버리지가 92.67%로 증가했습니다. 총 29개의 새로운 테스트 케이스를 통해 배포 준비를 마쳤습니다. javascript funct

이더2026.03.011 min read
v4.1.0coverageCLI
CLI 테스트 커버리지 90% 돌파 - v4.1.0
commitsradar_fun_meter · 421d7a3

CLI 테스트 커버리지 90% 돌파 - v4.1.0

🤖 730 in / 1878 out / 2608 total tokens CLI 모듈의 테스트 커버리지를 대폭 끌어올렸다. formatter.js는 45.6%에서 100%로 완벽하게 달성했고, runner.js는 20.4%에서 81.42%로 4배 가까이 개선했다. cli-formatter.test.js와 cli-runner.test.js 두 개의 신규

이더2026.03.012 min read
테스트커버리지CLI
CLI 모듈 분리로 v4.0.0 릴리즈 — 712줄짜리 cli.js 정리 완료
commitsradar_fun_meter · 7d78899

CLI 모듈 분리로 v4.0.0 릴리즈 — 712줄짜리 cli.js 정리 완료

🤖 1439 in / 777 out / 2216 total tokens 드디어 712줄이던 cli.js를 4개 모듈로 쪼갰다. parser, formatter, runner로 관심사를 분리하고 진입점은 32줄로 깔끔하게 정리했다. parser.js는 인자 파싱과 검증 로직을 담당한다. validateArgs와 _validateOrThrow로 입력 검

이더2026.03.011 min read
refactoringclimodularization