Node.js is an open-source framework and developers around the globe contribute to its development. Even wondered how to contribute to Node.js core? In this article, we are going to learn how to contribute to Node.js core step by step.
Step 1: Fork the Node.js Project
First, you need to fork the official Node.js project repository. To do the same, head over to the official Node.js repository, located at https://github.com/nodejs/node, and fork the project to your Github account.
Step 2: Setup local git repository
After doing the fork of the project, clone the project in your development machine.
For example, if your Github user name is dev123, then the command will look like this.
Then, switch to the folder.
In order to keep our source code updated with the latest changes, we need to change the upstream to the official Node.js repository, run this command to do the same.
Now, pull the code changes and update your local repository using the following command.
Step 3: Test and build Node.js
In order to perform this step, you need to have the following software installed in your machine.
- Python 2.7
- GNU Make
You can build your Node.js project using the following command.
-j8 flag will run 8 concurrent compilation jobs to save the build time.
It may take some time to perform the build. Once your build is finished, you can proceed to the next step.
Step 4: Find relevant issues to work on
Head over to the official Node.js repository issues page and find an issue to work. At the time of writing this article, there are 1045 open issues.
If you are a beginner, you can check out the “good first issue” label to find out the issues suitable for beginners. Find some and work on it. Follow the next step once you are ready to merge your contribution to the Node.js core repository.
Step 5: Submit your Pull Request
Test and push your changes to your repository, and head over to Github. After your contribution is pushed to Github, a green merge button will appear at the top. Click on it to open a pull request, and wait for other contributors to approve/request changes in your pull request.