Thanks for being willing to contribute!
Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub
It is recommended you use yarn
rather than npm
. But if you'd
rather stick with npm
, simply replace yarn
in the commands below with npm
.
- Fork and clone the repo
- Run
yarn start setup
to verify your system and install dependencies - Create a branch for your PR
You can run yarn start
to see what scripts are available.
Protip: we're using nps in this project. If you want to type less, then you can install nps globally:
yarn global add nps
(ornpm i -g nps
) and then you can runnps
instead ofnpm start
This project follows the all contributors specification. To add yourself to the table of contributors on the README.md, please use the automated script as part of your PR:
yarn start contrib.add
Follow the prompt. If you've already added yourself to the list and are making a new type of contribution, you can run it again and select the added contribution type.
This project uses a special script
to make it so attendees can easily run npm start exercise.eslint.2
and it'll copy the eslint exercise 2 files to the
./exercises
directory. That way attendees don't have to know which file to open (because it'll always be the same one).
With that in mind, all the exercises are in
./other/final
. If you wish to make a change to
one of the exercises, simply open the file and its associated test and make your changes. Then you can verify that things
still work by running npm start validate
. If everything works then you're good to go!
There are definitely more features we could add tests for, and you can also add tests to existing features. You can put
these at the bottom in an "Extra Credit" section with test.skip
. This way people who work through the solutions
quickly can have something to solidify their learning further while others finish the core content. Please follow the
instructions above when contributing. Thanks for your help!
There are git hooks set up with this project that are automatically installed when you install dependencies. They're
really handy, but are turned off by default (so as to not hinder new contributors). You can opt into these by creating
a file called .opt-in
at the root of the project and putting this inside:
precommit