This project is a CLI based on MERN for processing Github repositories (both public and private) and check the current version of one or multiple dependency passed in the CLI and returning the result
- Use of streams which makes the processing way faster
- Works on both public and private repositories
- Can pass multiple arguments to test the versions of the dependencies
- As it is modular, it is scalable
The stack used in the project are:
- Node Js - evented I/O for the backend
- Express Js - fast node.js network app framework [@tjholowaychuk]
This project requires Node.js v10+ to run.
nvm install node
-
Firstly, download the file from the '/Code' folder of the submitted google Drive.
-
Open a terminal at the downloaded location and run the following command to install all the depenencies:
npm i
or
npm install
-
Add the .csv file to the location:
Files/
NOTE: Github deletes Personal access tokens on pushing it to github
- Create a Personal access token from Github(You can find a tutorial here) and add it to the 'TOKEN' variable in:
sever/getObj.js
- Now that the dependencies are ready, start execution(for mac and linux) by:
verck <filename.csv> <dependency>@<version>
- Now that the dependencies are ready, start execution(for windows) by:
node index.js <filename.csv> <dependency>@<version>
- The output folders are found in directory:
Files/
-
The csv file is read and parsed for the repository link
-
Now, we create a custom URL for API request to Github with token access
-
The package.json is fetched from Github of the specified Repository and the dependencies are accessed
-
Now the Version comparision takes place
-
The final results are written in a .csv file in:
Files/
S. Kowshal [email protected] 7200088893 Vellore Instutite of Technology