2.5 KiB
Contributing
Code of Conduct
All interactions in the npm organization on GitHub are considered to be covered by our standard Code of Conduct.
Reporting Bugs
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.
Development
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
! 🎉
Test Coverage
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
Performance & Benchmarks
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
What not to contribute?
Dependencies
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.
Tools/Automation
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.)