Crawls rubygems dependencies graph
First, clone the repository:
git clone https://github.com/anvaka/allgems
cd ./allgems
npm installNow you can crawl:
- Index all gems into file:
node index.js. This will use rubygems search api and download all packages intogems.jsonfile. Most likely this will take ~2-3 hours. It is slow because the search API limits results to 30 per page. - Convert it to graph:
node toGraph ./gems.json
Once the graph is ready you will have a graph.out file in the folder. Use it
to run the layouter:
node layout.js ./graph.outThis will take around one hour and produce position files in the data folder.
Finally you need to convert the positions into binary format, which can be
understood by visualization:
node toBinary ./graph.outThis will produce two files:
labels.json- records all package names in a flat arraylinks.bin- records all graph connections in a binary format.
These two files and the last positions file (./data/100.pos) needs to be copied
into the data folder of the visualization.
MIT