Gathering detailed insights and metrics for @motss-changesets/get-github-info
Gathering detailed insights and metrics for @motss-changesets/get-github-info
npm install @motss-changesets/get-github-info
Typescript
Module System
Node Version
NPM Version
69.7
Supply Chain
92.6
Quality
75.1
Maintenance
100
Vulnerability
100
License
@changesets/get-release-plan@4.0.8
Updated on Feb 20, 2025
@changesets/config@3.1.1
Updated on Feb 20, 2025
@changesets/cli@2.28.1
Updated on Feb 20, 2025
@changesets/apply-release-plan@7.0.10
Updated on Feb 20, 2025
@changesets/write@0.4.0
Updated on Feb 17, 2025
@changesets/should-skip-package@0.1.2
Updated on Feb 17, 2025
TypeScript (99.85%)
JavaScript (0.15%)
Love this project? Help keep it running — sponsor us today! 🚀
Total Downloads
1,251
Last Day
1
Last Week
3
Last Month
23
Last Year
252
MIT License
9,470 Stars
611 Commits
600 Forks
36 Watchers
47 Branches
147 Contributors
Updated on Feb 20, 2025
Latest Version
0.5.5
Package Id
@motss-changesets/get-github-info@0.5.5
Unpacked Size
54.37 kB
Size
9.74 kB
File Count
11
NPM Version
8.19.2
Node Version
16.18.0
Cumulative downloads
Total Downloads
Last Day
0%
1
Compared to previous day
Last Week
-57.1%
3
Compared to previous week
Last Month
475%
23
Compared to previous month
Last Year
-45.1%
252
Compared to previous year
2
Get the GitHub username and PR number from a commit. Intended for use with changesets.
Note: This assumes you already have changesets setup.
To use @changesets/get-github-info
, you'll need to install it and you'll probably also want dotenv
to provide a GitHub personal access token via a .env
file.
1yarn add --dev @changesets/get-github-info dotenv
or
1npm install --save-dev @changesets/get-github-info dotenv
Then you can use it in your .changeset/config.js
like this.
1require("dotenv").config(); 2const { getInfo } = require("@changesets/get-github-info"); 3 4// ... 5 6const getReleaseLine = async (changeset, type) => { 7 const [firstLine, ...futureLines] = changeset.summary 8 .split("\n") 9 .map((l) => l.trimRight()); 10 // getInfo exposes the GH username and PR number if you want them directly 11 // but it also exposes a set of links for the commit, PR and GH username 12 let { user, pull, links } = await getInfo({ 13 // replace this will your own repo 14 repo: "Noviny/changesets", 15 commit: changeset.commit, 16 }); 17 let returnVal = `- ${links.commit}${ 18 links.pull === null ? "" : ` ${links.pull}` 19 }${links.user === null ? "" : ` Thanks ${links.user}!`}: ${firstLine}`; 20 if (futureLines.length > 0) { 21 returnVal += `\n${futureLines.map((l) => ` ${l}`).join("\n")}`; 22 } 23 return returnVal; 24}; 25 26// ...
You'll need to get a GitHub personal access token with read:user
and repo:status
permissions, and add it to a .env
file.
1GITHUB_TOKEN=token_here
You can now bump your packages and changelogs with changeset version
and it'll have the GitHub info. 🎉
1type Info = { 2 user: string | null; 3 pull: number | null; 4 links: { 5 commit: string; 6 pull: string | null; 7 user: string | null; 8 }; 9}; 10 11type Options = { 12 commit: string; 13 repo: string; 14}; 15 16export function getInfo(options: Options): Info { 17 // magic... 18}
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
24 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Reason
all changesets reviewed
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
security policy file detected
Details
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
project is not fuzzed
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
25 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-02-17
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More