#!/usr/bin/env node // Fix: generate-stats.js composable 计数正则不精确 // /composable:/ 会把 composable: false 也计入 // 修正为 /composable:\s*true/ 精确匹配 const fs = require('fs'); const path = require('path'); const SENTINEL = '// COMPOSABLE_REGEX_FIX_v1'; const fp = path.join(__dirname, '..', 'generate-stats.js'); let code = fs.readFileSync(fp, 'utf8'); if (code.includes(SENTINEL)) { console.log('SKIP: already patched'); process.exit(0); } const old = "if (/composable:/.test(content)) composable++;"; const idx = code.indexOf(old); if (idx === -1) { console.error('FAIL: cannot find composable regex line'); process.exit(1); } fs.copyFileSync(fp, fp + '.bak'); code = code.slice(0, idx) + `if (/composable:\\s*true/.test(content)) composable++; ${SENTINEL}` + code.slice(idx + old.length); fs.writeFileSync(fp, code, 'utf8'); console.log('PATCHED: composable regex now requires explicit true value');