UNPKG

nextjs-analyzer

Version:

A modular tool that comprehensively analyzes Next.js projects. Includes component, performance, security, SEO, data fetching, code quality, and historical analysis features.

52 lines (44 loc) 1.44 kB
const fs = require('fs-extra'); const path = require('path'); const chalk = require('chalk'); /** * Belirtilen dizindeki tüm JavaScript/TypeScript dosyalarını bulur * @param {string} dir - Taranacak dizin * @param {Array<string>} extensions - Taranacak dosya uzantıları * @returns {Array<string>} - Bulunan dosyaların tam yolları */ function findFiles(dir, extensions = ['.js', '.jsx', '.ts', '.tsx']) { if (!fs.existsSync(dir)) { console.error(chalk.red(`Hata: ${dir} dizini bulunamadı.`)); return []; } let results = []; const list = fs.readdirSync(dir); list.forEach(file => { const filePath = path.join(dir, file); const stat = fs.statSync(filePath); if (stat.isDirectory() && !file.startsWith('node_modules') && !file.startsWith('.')) { // Alt dizinleri rekursif olarak tara results = results.concat(findFiles(filePath, extensions)); } else { const ext = path.extname(file); if (extensions.includes(ext)) { results.push(filePath); } } }); return results; } /** * Dosya yolundan göreceli yol oluşturur * @param {string} filePath - Tam dosya yolu * @param {string} basePath - Baz alınacak dizin * @returns {string} - Göreceli yol */ function getRelativePath(filePath, basePath) { return path.relative(basePath, filePath); } module.exports = { findFiles, getRelativePath };