(dir: string, exts: string[])
| 41 | ] |
| 42 | |
| 43 | function collectFiles(dir: string, exts: string[]): string[] { |
| 44 | const results: string[] = [] |
| 45 | if (!fs.existsSync(dir)) return results |
| 46 | |
| 47 | for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { |
| 48 | const full = path.join(dir, entry.name) |
| 49 | if (entry.isDirectory()) { |
| 50 | results.push(...collectFiles(full, exts)) |
| 51 | } else if (exts.some((ext) => entry.name.endsWith(ext)) && !entry.name.includes('.test.')) { |
| 52 | results.push(full) |
| 53 | } |
| 54 | } |
| 55 | return results |
| 56 | } |
| 57 | |
| 58 | function getAllSeoFiles(exts: string[]): string[] { |
| 59 | const files: string[] = [] |
no test coverage detected