prompt-helper
Version:
A CLI tool to help you create and manage prompts for AI models.
40 lines • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fileTreeRender = fileTreeRender;
const path_1 = __importDefault(require("path"));
function renderFileTreeHelper(nodes, log, prefix) {
nodes.forEach((node, idx) => {
const isLast = idx === nodes.length - 1;
const pointer = isLast ? '└── ' : '├── ';
let line = `${prefix}${pointer}${node.name}`;
if (node.dependencies?.length) {
line += ` (Depends on: ${node.dependencies.join(', ')})`;
}
if (node.error) {
log(`${line} [Error: ${node.error}]`, true);
return;
}
log(line);
if (node.children?.length) {
const nextPrefix = prefix + (isLast ? ' ' : '│ ');
renderFileTreeHelper(node.children, log, nextPrefix);
}
});
}
/**
* Recursively logs a visual representation of the file tree structure.
*
* @param projectInfo - The project information containing the file tree and logger.
*/
function fileTreeRender(projectInfo) {
const { tree: nodes, logger: log } = projectInfo;
log('\n## Directory Structure:\n');
log('```markdown');
log(`${path_1.default.basename(projectInfo.baseDir)}/`);
renderFileTreeHelper(nodes, log, '');
log('```');
}
//# sourceMappingURL=fileTreeRender.js.map