github-stars-to-csv
v1.3.0
Published
A GitHub star aggregation library for graphs.
Downloads
11
Readme
Github Stars to CSV
A GitHub star aggregation library for graphs. Just get a GitHub personal access token from your account settings page and run the cli to generate a .csv
file with a timeline of the stars for one or more repo.
Output
When you run this function, it returns a table of a timeline of the star count for each repository you select. The output looks as follows,
| date | repoA stars | repoA cumulative | repoB stars | repoB cumulative | |------------|-------------|------------------|-------------|------------------| | 2019-01-01 | 1 | 1 | 0 | 0 | | 2019-01-02 | 2 | 3 | 0 | 0 | | 2019-01-03 | 0 | 3 | 0 | 0 | | 2019-01-04 | 0 | 3 | 1 | 1 | | 2019-01-05 | 3 | 6 | 0 | 1 | | 2019-01-06 | 2 | 8 | 1 | 2 | | 2019-01-07 | 2 | 10 | 2 | 4 |
Usage
In order to use this package, you'll need to generate a GitHub personal access token. To do this, follow the steps below,
- Go to your account settings
- Click on the "Developer Settings" option (on the left sidebar close to the bottom)
- Select the "Personal access tokens" option
- Click the "Generate new token" button and authenticate (if GitHub asks)
- Add a note so that you know what it's for (I just used "github-stars")
- Don't select any scopes, just scroll to the bottom and click "Generate token"
- Copy that token and store it somewhere so that you can use it here when needed
install
To install this package run,
npm install -g github-stars-to-csv
Now generate a .csv
file using the command,
github-stars-to-csv --repo=repo/repo1 --repo=repo/repo2 --token=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN
You can also generate it for a single repo,
github-stars-to-csv --repo=repo/repo1 --token=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN
npx
You can run this without installing the package using the following command:
npx github-stars-to-csv --repo=repo/repo1 --repo=repo/repo2 --token=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN
Thanks
A special thanks to Dominik Kundel for his article on How to build a CLI with Node.js.