All interactions in the npm organization on GitHub are considered to be covered by our standard Code of Conduct.
When submitting a new bug report, please first search for an existing or similar report & then use one of our existing issue templates if you believe you've come across a unique problem. Duplicate issues, or issues that don't use one of our templates may get closed without a response.
1. Clone this repository...
$ git clone git@github.com:npm/cli.git npm
2. Navigate into project & install development-specific dependencies...
$ cd ./npm && npm install
3. Write some code &/or add some tests...
...
4. Run tests & ensure they pass...
$ npm run test
5. Open a Pull Request for your work & become the newest contributor to npm
! 🎉
We use tap
for testing & expect that every new feature or bug fix comes with corresponding tests that validate the solutions. We strive to have as close to, if not exactly, 100% code coverage.
You can find out what the current test coverage percentage is by running...
$ npm run check-coverage
We've set up an automated benchmark integration that will run against all Pull Requests; Posting back a comment with the results of the run.
Example:
You can learn more about this tool, including how to run & configure it manually, here
It should be noted that our team does not accept third-party dependency updates/PRs. We have a release process that includes checks to ensure dependencies are staying up-to-date & will ship security patches for CVEs as they occur. If you submit a PR trying to update our dependencies we will close it with or without a reference to these contribution guidelines.
Our core team is responsible for the maintenance of the tooling/automation in this project & we ask collaborators to kindly not make changes to these when contributing (ex. .github/*
, .eslintrc.json
, .licensee.json
etc.)