Mono vs multi-repo
Another thing I noticed. Currently this approach doesn’t do a great job at detecting the support behind a particular package when it’s developed in a monorepo.
Like the packages in the example:
- @mbostock, in projects: [
'd3/d3-scale',
'd3/d3-array',
'd3/d3-format',
'd3/d3-time-format',
'd3/d3-time',
'd3/d3-scale-chromatic'
]
Were detected because they are multi-repo.
On the other hand, all these npm packages go to the same babel repo.
{
"@babel/core": "babel/babel",
"@babel/plugin-proposal-class-properties": "babel/babel",
"@babel/preset-env": "babel/babel",
"@babel/preset-flow": "babel/babel",
"@babel/preset-react": "babel/babel",
"@babel/plugin-proposal-decorators": "babel/babel",
"@babel/plugin-proposal-export-namespace-from": "babel/babel",
"@babel/plugin-proposal-function-sent": "babel/babel",
"@babel/plugin-proposal-json-strings": "babel/babel",
"@babel/plugin-proposal-numeric-separator": "babel/babel",
"@babel/plugin-proposal-throw-expressions": "babel/babel",
"@babel/plugin-syntax-dynamic-import": "babel/babel",
"@babel/plugin-syntax-import-meta": "babel/babel",
"@babel/plugin-transform-runtime": "babel/babel",
"@babel/runtime": "babel/babel",
"@babel/runtime-corejs2": "babel/babel",
"@babel/runtime-corejs3": "babel/babel",
}
Those are just the ones that came up from my sample set, but there’s many more: https://github.com/babel/babel/tree/master/packages#readme
The package.json format does have an optional way to indicate which folder of a repo the package lives in. Useful for monorepos. But it would be quite complicated for SourceCred to support splitting cred by folder.