UNPKG

@yolkai/nx-workspace

Version:

Extensible Dev Tools for Monorepos

35 lines (34 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function createFileMap(workspaceJson, files) { const graph = {}; const seen = new Set(); // Sorting here so `apps/client-e2e` comes before `apps/client` and has // a chance to match prefix first. Object.keys(workspaceJson.projects) .sort((a, b) => { if (!workspaceJson.projects[a].root) return -1; if (!workspaceJson.projects[b].root) return -1; return workspaceJson.projects[a].root.length > workspaceJson.projects[b].root.length ? -1 : 1; }) .forEach(projectName => { const p = workspaceJson.projects[projectName]; files.forEach(f => { if (seen.has(f.file)) { return; } if (f.file.startsWith(p.root)) { graph[projectName] = graph[projectName] || []; graph[projectName].push(f); seen.add(f.file); } }); }); return graph; } exports.createFileMap = createFileMap;