react-genx-cli
Version:
37 lines (29 loc) • 1.18 kB
JavaScript
const fs = require('fs');
const path = require('path');
function getDirectoryTree(dirPath = '.', prefix = '') {
let result = '';
try {
const items = fs.readdirSync(dirPath).filter(item => !['node_modules', '.git', 'dist', 'tests', 'logo.svg', 'reportWebVitals.js', 'setupTests.js'].includes(item));
items.forEach((item, index) => {
const itemPath = path.join(dirPath, item);
const isLast = index === items.length - 1;
const connector = isLast ? '└── ' : '├── ';
result += prefix + connector + item + '\n';
// Check if it's a directory and recurse
if (fs.statSync(itemPath).isDirectory()) {
const newPrefix = prefix + (isLast ? ' ' : '│ ');
result += getDirectoryTree(itemPath, newPrefix);
}
});
} catch (error) {
result += `Error reading directory: ${error.message}\n`;
}
return result;
}
// Usage examples:
const treeString = getDirectoryTree(); // Current directory
console.log('Current directory structure:');
console.log(treeString);
// Or specify a path:
// const srcTree = getDirectoryTree('./src');
// console.log(srcTree);