prompt-helper
Version:
A CLI tool to help you create and manage prompts for AI models.
38 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.collectGraph = collectGraph;
const fileStructureCollector_1 = require("./fileStructureCollector");
/**
* Flattens a nested array of FileNode objects into a single-level array.
*
* @param nodes - The tree of FileNode objects.
* @param out - Accumulator for flattened nodes.
* @returns A flat list of all file and directory nodes.
*/
function flatten(nodes, out = []) {
for (const node of nodes) {
out.push(node);
if (node.children) {
flatten(node.children, out);
}
}
return out;
}
/**
* Collects a file-level dependency graph and attaches it to the project info object.
*
* @param baseDir - The root directory of the project.
* @param projectInfo - The project info object to populate with the dependency graph.
*/
function collectGraph(baseDir, projectInfo) {
const tree = (0, fileStructureCollector_1.collectFileTree)(baseDir, baseDir);
const flatNodes = flatten(tree);
const graph = {};
for (const node of flatNodes) {
if (!node.isDirectory) {
graph[node.path] = node.dependencies || [];
}
}
projectInfo.dependencyGraph = graph;
}
//# sourceMappingURL=graphCollector.js.map