@mocha/contributors v1.0.4
@mocha/contributors
Add & update list of Git contributors in
package.json
This module uses git
to find all committers to a repo; it respects .mailmap
, if present.
Table of Contents
Install
$ npm i @mocha/contributors -D
Usage
contributors [options]
Options:
--help Show help [boolean]
--version Show version number [boolean]
--exclude, -x Exclude author/email from list (repeatable)
[array] [default: (author prop of package.json)]
--package, -p, --pkg Path of package.json to update
[string] [default: (closest package.json)]
--property Name of property to update
[string] [default: "contributors"]
Configuration can be specified using the @mocha/contributors
property of your package.json
, e.g.:
{
"@mocha/contributors": {
"exclude": ["some", "people"],
"package": "/path/to/package.json",
"property": "contributors"
}
}
API
@mocha/contributors
Provides functions to get contributors from commit history, process and write those contributors to package.json
.
- @mocha/contributors
- .getContributors([opts]) ⇒ Array.<string>
- .updateContributors([opts]) ⇒ string
@mocha/contributors.getContributors(opts) ⇒ Array.<string>
Get list of contributors to Git repo at path cwd
, excluding names/emails defined in exclude
. locale
and localeOpts
must be consistent between calls in order to avoid too much churn in the contributors list.
Kind: static method of @mocha/contributors Returns: Array.<string> - Sorted list of contributors Access: public See
- https://git-scm.com/docs/git-log
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
Param | Type | Default | Description |
---|---|---|---|
opts | Object | {} | Options |
opts.exclude | Array.<string> | Set.<string> | [] | A list of authors/emails to ignore; must be exact match |
opts.cwd | string | Working copy dir; defaults to process.cwd() | |
opts.locale | string | Array.<string> | "en-US" | Locale(s) to pass to String.prototype.localeCompare |
opts.localeOpts | Object | {sensitivity: 'accent'} | Options for String.prototype.localeCompare |
Example
// get list of contributors for your package (without Guy Fieri)
const {getContributors} = require('@mocha/contributors');
getContributors(
['Guy Fieri <guy@flavortown.com>'],
'/path/to/working/copy/',
'en-US',
{sensitivity: 'accent'}
); // returns Array of contributors
@mocha/contributors.updateContributors(opts) ⇒ string
Given a path to a package.json pkg
, update Git contributors in the property defined by property
, excluding those in the exclude
array.
Kind: static method of @mocha/contributors
Returns: string - Resulting package.json
Access: public
Param | Type | Default | Description |
---|---|---|---|
opts | Object | Options | |
opts.pkg | string | Path to package.json ; searches for closest by default | |
opts.exclude | Array.<string> | Set.<string> | A list of authors/emails to ignore; defaults to author prop of found package.json | |
opts.property | string | "contributors" | Property name to update |
Maintainers
Contribute
PRs accepted.
Small note: If editing the README, please conform to the standard-readme specification.
License
Apache-2.0 © 2018 JS Foundation & Contributors