Start Contributing to an Open Source Project
Monday Sept 24th.
This lab will help get you started on your 0.1 release. Here is a checklist of what needs to be done (see below for more details):
- Install and set-up git
- Create a GitHub Account
- File an Issue to work on in Filer
- Create a fix for your Issue, learn how to add, commit, push commits in git
- Create a Pull Request in Filer's repo on GitHub with your fix
- Add your Name and URLs to the table at the end of this lab
Setup Git and GitHub
We'll use git and GitHub throughout this course to contribute to open source projects. You'll need to get both properly setup, installed and configured. Follow the instructions from the Week 3 notes to get your name, email, editor, line endings, etc. setup for git, and create an account for yourself on GitHub
File an Issue with Filer
You need to file an Issue in Filer to work on for your release. Using your recent research on Filer's fs module, pick a test you want to write for one of the methods. It is recommended that you add a test for one of the
fs.promises methods and code paths, since there are currently none. Make sure it doesn't already exist, and that no other student has filed it already, and file a New Issue:
- Talk about the method and test you are going to write
- Keep your test small and focused: only test 1 thing in a test. It's better for us to have lots of small tests rather than a few big ones.
- Show a short snippet of code to demonstrate the particular behaviour you will be testing.
- If you are planning to work on this test, indicate so in the issue, (i.e., "I'd like to be assigned this issue so I can work on it.").
Fix your Issue
Once you have an Issue assigned to you, begin working on a fix:
- Fork and Clone Filer
- Create and checkout a branch for your work, naming it after your issue. For example, if you are fixing Issue #452, create a branch named "issue-452".
- Test code for Filer lives in tests/ and tests/spec. You can likely add to a file there. If are unsure, ask in your Issue for advice.
- Add, commit, and push your branch when you are done, or when you are close to done and want feedback.
- Create a Pull Request for your fix. Your Pull Request should reference your Issue #, and describe what the change is doing. https://github.com/filerjs/filer/pull/385 is an example.
It is OK to submit a Pull Request that isn't 100% perfect or done yet for this first attempt.
Work in the Open
Everyone will struggle with some aspects of this lab and assignment. It's meant to immerse you in the open source contribution process. Don't be overwhelmed, you aren't alone, and there's nothing wrong with you! I want you to learn to work in community, ask for help, and give help as you are able:
- Use https://seneca-open-source.slack.com to ask questions
- Ask for help in your Issue if you aren't sure about some technical info.
You will have completed your lab when you have filed an issue, create a pull request, and added the links to the table below:
|Name||My GitHub (URL)||My Filer Bug (URL)||My Filer Pull Request (URL)|
|Ryan Vu (Tien Phat)||https://github.com/pynnl||https://github.com/filerjs/filer/issues/396||https://github.com/filerjs/filer/pull/406|