Build the file-level import graph for the whole project once.
()
| 83 | |
| 84 | /** Build the file-level import graph for the whole project once. */ |
| 85 | private async projectGraph(): Promise<ImportGraph> { |
| 86 | if (this.graphCache) return this.graphCache; |
| 87 | const files = await walkProjectSource(this.opts.cwd, 3000); |
| 88 | this.graphCache = await buildImportGraph( |
| 89 | this.opts.cwd, |
| 90 | files.map(f => ({ rel: f.rel, content: f.content })), |
| 91 | ); |
| 92 | return this.graphCache; |
| 93 | } |
| 94 | |
| 95 | /** ORCHESTRATOR: produce the task DAG. */ |
| 96 | async decompose(goal: string, signal?: AbortSignal): Promise<TaskGraph> { |
no test coverage detected