Skip to content

Node API? #362

Open
Open
@JoshuaKGoldberg

Description

Is your feature request related to a problem? Please describe.

I've started running npx all-contributors add as part of scripts in a few places that automate contributor attribution (https://github.com/JoshuaKGoldberg/all-contributors-auto-action, JoshuaKGoldberg/create-typescript-app#639). Right now those tools generally use https://github.com/sindresorhus/execa to run the CLI as part of Node scripts. That works, but has a couple of drawbacks:

  • Performance: although the overhead of running scripts is a little slow, each script can only add one contributor at a time (https://allcontributors.org/docs/en/cli/usage). It'd be nice to be able to provide an object with multiple contributors, each matched to an array of contribution types.
  • Type safety: CLI usage is all string concatenation. It'd be nice to have .d.ts-described types.

Describe the solution you'd like

Could there be a Node package that exports an async function or two? Vaguely...

import { addContributor, addContributors } from "all-contributors";

await addContributor("MyName", ["bug", "tool"]);

await addContributors({
  MyName: ["bug", "tool"],
  OtherName: ["design"],
});

Describe alternatives you've considered

🤷 Can't think of anything else.

Additional context

Reusing the all-contributors package name feels like a good idea.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions