mirror of
https://github.com/status-im/sourcecred.git
synced 2025-02-11 12:07:05 +00:00
Summary: This commit implements the `sourcecred` command-line utility, which has three subcommands: - `plugin-graph` creates one plugin’s graph; - `combine` combines multiple on-disk graphs; and - `graph` creates all plugins’ graphs and combines them. As an implementation detail, the `into.sh` script is very convenient, avoiding needing to do any pipe management in Node (which is Not Fun). When we build for release, we may want to factor that differently. Test Plan: To see it all in action, run `yarn backend`, and then try: ``` $ export SOURCECRED_GITHUB_TOKEN="your_token_here" $ node ./bin/sourcecred.js graph sourcecred sourcecred Using output directory: /tmp/sourcecred/sourcecred Starting tasks GO create-git GO create-github PASS create-github PASS create-git GO combine PASS combine Full results PASS create-git PASS create-github PASS combine Overview Final result: SUCCESS $ ls /tmp/sourcecred/sourcecred/ graph-github.json graph-git.json graph.json $ jq '.nodes | length' /tmp/sourcecred/sourcecred/*.json 1000 7302 8302 ``` The `node sourcecred.js graph` command takes 9.8s for me. (The salient point of the last command is that the two small graphs have node count adding up to the node count of the big graph. Incidentally, we are [almost][1] at a nice round number of nodes in the GitHub graph.) [1]: https://xkcd.com/1000/ wchargin-branch: cli