Package Exports
- @semrel-extra/topo
Readme
@semrel-extra/topo
Helper to resolve monorepo dependencies graph by workspaces
Install
yarn add @semrel-extra/topo
Usage
import { topo } from '@semrel-extra/topo'
const graph = topo({
workspaces: ['packages/*'],
cwd: '/path/to/project/root'
})
{
queue: ['pkg-a', 'pkg-b', 'pkg-z', 'pkg-y', 'pkg-x'],
nodes: ['pkg-a', 'pkg-b', 'pkg-x', 'pkg-y', 'pkg-z'],
edges: [
['pkg-a', 'pkg-b'],
['pkg-z', 'pkg-y'],
['pkg-y', 'pkg-x'],
],
packages: {
'pkg-a': {
manifest: {
name: 'pkg-a',
dependencies: {}
},
manifestPath: '/absolute/path/to/packages/a/package.json',
path: 'packages/pkg-a'
},
'pkg-b': {...},
...
}
}