Hello! Thank you for taking the time to review my code.
As of 6/9/21 @ 12:45am, this project retrieves 1973 open and closed PRs from the Ramda org on Github.
The up to date value is also printed to the console when app is ran.
- Run
npm installto install npm modules used in this project - Place your Github API key in
./utils/.env_sample - Rename
.env_sampleto.env - Run
npm run startinside of./utils
In this project, I'm using:
- axios to make HTTP GET requests
- dotenv to set an enviornment variable for the Github API key
- pretty-format as a dev dependency to make the console output a little bit prettier
In ./utils/app.js there are four functions.
getRepos()
Stores full_name metadata from Github response for each repo in the Ramda org in the repoPRData object as an obect key.
// example: ramda/ramdangular
repoPRData = {
"ramda/ramdangular": {}
}
savePageData()
Uses the full_name metadata stored in repoPRData to make HTTP GET requests for all PRs (opened and closed) in each repo in the Ramda org. The per_page value is manually set to 100.
It then stores the PRs number, url, state, date merged at, and date created at inside its repo object in repoPRData.
// example: /ramda/repl/
repoPRData = {
"/ramda/repl/": {
"69": {
"createdAt": "2020-09-29T14:41:45Z",
"mergedAt": "2020-09-29T14:49:12Z",
"state": "closed",
"url": "https://api.github.com/repos/ramda/repl/pulls/69",
}
}
}
getPrData()
Calls savePageData() and passes in repo names stored in repoPRData and the page number to start on (default value 1).
countPRsRetrieved()
Returns the number of PRs retrieved
getRepoPRData()
Calls getRepos(), getPrData(), and countPRsRetrieved(). Then logs the formatted repoPRData object.