all-contributors / all-contributors/cli

Node API?

Abierto
#362 0 comentarios 0 reacciones 0 asignados Ver en GitHub
type: enhancement
Lenguaje dominante
JavaScript
Estrellas
425
Forks
149
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**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, https://github.com/JoshuaKGoldberg/template-typescript-node-package/pull/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...

```js
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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.