(rootPath: string)
| 340 | } |
| 341 | |
| 342 | function buildProjectDescriptor(rootPath: string): ProjectDescriptor { |
| 343 | const resolvedRootPath = path.resolve(rootPath); |
| 344 | const rootKey = normalizeRootKey(resolvedRootPath); |
| 345 | rememberProjectPath(resolvedRootPath, classifyProjectSource(resolvedRootPath), { touch: false }); |
| 346 | return { |
| 347 | project: resolvedRootPath, |
| 348 | label: formatProjectLabel(resolvedRootPath), |
| 349 | rootPath: resolvedRootPath, |
| 350 | relativePath: getRelativeProjectPath(resolvedRootPath), |
| 351 | active: activeProjectKey === rootKey, |
| 352 | source: projectSourcesByKey.get(rootKey) ?? classifyProjectSource(resolvedRootPath), |
| 353 | indexStatus: getProjectIndexStatus(resolvedRootPath) |
| 354 | }; |
| 355 | } |
| 356 | |
| 357 | function listProjectDescriptors(): ProjectDescriptor[] { |
| 358 | const rootPaths = new Map<string, string>(); |
no test coverage detected