react-native-integrate
Version:
Automate integration of additional code into React Native projects
26 lines (25 loc) • 766 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.topologicalSort = topologicalSort;
function topologicalSort(graph) {
const visited = {};
const sorted = [];
function visit(node) {
if (!visited[node.packageName]) {
visited[node.packageName] = true;
if (node.config.dependencies) {
for (const dep of node.config.dependencies) {
const dependent = graph.find(item => item.packageName === dep);
if (dependent) {
visit(dependent);
}
}
}
sorted.push(node);
}
}
for (const node of graph) {
visit(node);
}
return sorted;
}