Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
all-contributors-for-repository
Advanced tools
Generates an allcontributors list for an existing repository. 🤝
Generates an allcontributors list for an existing repository. 🤝
✨ See this tool in action with all-contributors-auto-action! ✨
npm i all-contributors-for-repository
import { getAllContributorsForRepository } from "all-contributors-for-repository";
const contributors = await getAllContributorsForRepository({
owner: "JoshuaKGoldberg",
repo: "create-typescript-app",
});
/*
{
john_reilly: [ 'bug', 'code' ],
joshuakgoldberg: [ 'maintenance', 'tool' ],
}
*/
console.log(contributors);
Warning This tool only sees contributions that can be detected from the last 500 events in GitHub's API. Don't forget to manually add in other forms of contributions!
The types of contributions detected from the GitHub API are:
bug
: anybody who filed an issue labeled as accepting PRs and a bug (see Options)doc
: authors of merged PRs that address issues labeled as accepting PRs and docs (see Options)maintenance
: adding labels to issues and PRs, and merging PRsreview
: submitting a review for a PRtool
: authors of merged PRs that address issues labeled as accepting PRs and tooling (see Options)Additionally, based on PR conventional commit titles in the Angular convention, for all PR authors and co-authors:
build
and ci
: will be treated as an :infra:
contributiondocs
: will be treated as an :doc:
contributiontest
: will be treated as an :test:
contribution:code:
contributions💡 Given that list of contributors, you might want to run
all-contributors add
on each contributor & contribution type.
import { $ } from "execa"; for (const [contributor, contributions] of Object.entries(contributors)) { const contributionTypes = Object.keys(contributions).join(","); await $`npx all-contributors add ${contributor} ${contributionTypes}`; }
See populate-all-contributors-for-repository for a project that does just that. 📋
The exported getAllContributorsForRepository
function takes in an object with two required properties:
owner
(string
): The owner of the repository to query, such as "JoshuaKGoldberg"
.repository
(string
): The name of the repository to query, such as "all-contributors-for-repository"
.It additionally allows for the following optional options.
auth
(string
): GitHub auth token to query the API with, if necessary for private repositories and/or to avoid rate limiting.ignoredLogins
(string[]
): Usernames to ignore commits from, such as bot and bot-like users.
"allcontributors"
, "allcontributors[bot]"
, "dependabot"
, "dependabot[bot]"
, "renovate"
, "renovate[bot]"
labelAcceptingPrs
(string
): Label to indicate an issue is accepting pull requests.labelTypeBug
(string
): Label to indicate an issue is for a bug.labelTypeDocs
(string
): Label to indicate an issue is for documentation.labelTypeTool
(string
): Label to indicate an issue is for tooling.import { getAllContributorsForRepository } from "all-contributors-for-repository";
getAllContributorsForRepository({
auth: "abc123",
ignoredLogins: ["MyBotLikeUser"],
labelAcceptingPrs: "help wanted",
labelTypeBug: "bug",
labelTypeDocs: "docs",
labelTypeTool: "tool",
});
See .github/CONTRIBUTING.md
, then .github/DEVELOPMENT.md
.
Thanks! 💖
Fabian De La Peña Montero 📖 | Josh Goldberg 🔧 🐛 💻 🚧 👀 📖 🚇 ⚠️ 🤔 |
💙 This package is based on @JoshuaKGoldberg's create-typescript-app.
FAQs
Generates an allcontributors list for an existing repository. 🤝
The npm package all-contributors-for-repository receives a total of 1,401 weekly downloads. As such, all-contributors-for-repository popularity was classified as popular.
We found that all-contributors-for-repository demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.