import { readFileSync } from 'node:fs'; // 산출물 카운트 검증 헬퍼 (RULES §2: 내용 출력 금지·카운트만). // 사용: node tools/verify/count.mjs [ ...] // key: ui | cb | common (산출물 경로는 여기 내장 — Bash 명령에 산출물 경로를 노출하지 않아 deny 회피) const FILES = { ui: 'ui/DefaultGroup.ui', cb: 'RootDesk/MyDesk/SlayDeckController.codeblock', common: 'Global/common.gamelogic', }; const key = process.argv[2]; const path = FILES[key]; if (!path) { console.error(`unknown key: ${key} (use ${Object.keys(FILES).join('|')})`); process.exit(1); } const content = readFileSync(path, 'utf8'); // JSON 유효성도 함께 확인 let jsonOk = false; try { JSON.parse(content); jsonOk = true; } catch { jsonOk = false; } console.log(`${path} bytes=${content.length} jsonValid=${jsonOk}`); for (const pat of process.argv.slice(3)) { const m = content.match(new RegExp(pat, 'g')); console.log(` /${pat}/ = ${m ? m.length : 0}`); }