Skip to content

Latest commit

 

History

History
102 lines (76 loc) · 3.43 KB

README.md

File metadata and controls

102 lines (76 loc) · 3.43 KB

Node.js Core Utilities

npm Build Status AppVeyor Build Status codecov Known Vulnerabilities

CLI tools for Node.js Core collaborators.

Usage

npm install -g node-core-utils

After running any of the tools for the first-time, you will be asked to provide a GitHub username and password in order to create a personal access token.

If you prefer not to provide your login credentials, follow these instructions to create the token.

Note: We need to read the email of the PR author in order to check if it matches the email of the commit author. This requires checking the box user:email when you create the personal access token (you can edit the permission later as well).

Then create a file named .ncurc under your $HOME directory (~/.ncurc);

{
  "username": "you_github_username",
  "token": "token_that_you_created"
}

If you would prefer to build from the source, install and link:

git clone [email protected]:joyeecheung/node-core-utils.git
cd node-core-utils
npm install
npm link

get-metadata

This one is inspired by Evan Lucas's node-review , although it is a CLI implemented with the Github GraphQL API.

get-metadata <identifier>

Retrieves metadata for a PR and validates them against nodejs/node PR rules

Options:
  --version    Show version number                                     [boolean]
  --owner, -o  GitHub owner of the PR repository                        [string]
  --repo, -r   GitHub repository of the PR                              [string]
  --file, -f   File to write the metadata in                            [string]
  --help, -h   Show help                                               [boolean]

Examples:

PRID=12345

# fetch metadata and run checks on nodejs/node/pull/$PRID
$ get-metadata $PRID
# is equivalent to
$ get-metadata https://github.com/nodejs/node/pull/$PRID
# is equivalent to
$ get-metadata $PRID -o nodejs -r node

# Or, redirect the metadata to a file while see the checks in stderr
$ get-metadata $PRID > msg.txt

# Using it to amend commit messages:
$ get-metadata $PRID -f msg.txt
$ echo -e "$(git show -s --format=%B)\n\n$(cat msg.txt)" > msg.txt
$ git commit --amend -F msg.txt

Features

  • Generate PR-URL
  • Generate Reviewed-By
  • Generate Fixes
  • Generate Refs
  • Check for CI runs
  • Check if commiters match authors
  • Check 48-hour wait
  • Check two TSC approval for semver-major
  • Warn new commits after reviews
  • Check number of files changed (request pre-backport)

Contributing

See CONTRIBUTING.md.

License

MIT. See LICENSE.