UNPKG

prompt-helper

Version:

A CLI tool to help you create and manage prompts for AI models.

38 lines 1.27 kB
"use strict"; 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