/node-core-utils

CLI tools for Node.js Core collaborators

Primary LanguageJavaScriptMIT LicenseMIT

Node.js Core Utilities

npm Build Status codecov Known Vulnerabilities

CLI tools for Node.js Core collaborators.

Usage

First, follow these instructions to create a personal access 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 install via npm, that's it.

If you are using it from source, install and link:

git clone git@github.com: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> [owner] [repo]

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

Options:
  --version    Show version number                                     [boolean]
  -o, --owner  GitHub owner of the PR repository                        [string]
  -r, --repo   GitHub repository of the PR                              [string]
  -h, --help   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:
$ git show -s --format=%B > msg.txt
$ echo "" >> msg.txt
$ get-metadata $PRID >> 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 CONTRIBUTIN.md.

License

MIT. See LICENSE.