Contributing
Last updated
Last updated
Hi there! I'm grateful that you'd like to contribute to this project. Your help is essential for keeping it great. I promise to try to be kind and considerate with any PR or Issues you make. Please read and follow these instructions to ensure that your contribution is as meaningful as possible:
Before opening an issue, please search the to make sure your issue hasn't already been reported. I use it, and mainly its label feature to keep track of bugs and improvements to child-shell itself, its examples, and its documentation. I encourage you to open issues to discuss improvements, architecture, theory, internal implementation, etc. If a topic has been discussed before, I will ask you to join the previous discussion.
The following is a detailed list of all that will help you develope to child-shell:
install
bootstrap .
$ npm i
clean
remove all dist dirs
$ npm run clean
npx rimraf **/dist
clean:all
clean .
$ npm run clean:all
run-p -ln clean clean:cache
format
make the code look sexy
$ npm run format
prettier --write '**/*.{js,ts,md}' --ignore-path .gitignore
lint
find potential bugs
$ npm run lint
eslint . --cache --fix --ext js,ts --ignore-path .gitignore
test
run UTs
$ npm test
jest
test:watch
watch UTs
$ npm run test:watch
npm test -- --watch
test:cov
get coverage numbers
$ npm run test:cov
npm test -- --coverage
build
just build
$ npm run build
tsc --build tsconfig.build.json
start
start playground
$ npm start
run-s -ln build start:playground
The workflow looks like this:
Fork the repo.
Create a new feature branch based off the master
branch.
Make sure all tests pass and there are no linting errors.
Submit a pull request, referencing any issues it addresses.
Please try to keep your pull request focused in scope and avoid including unrelated commits. After you have submitted your pull request, I'll try to get back to you as soon as possible and may suggest some changes or improvements.
Thank you for contributing :)
Open a new issue in the .
Improvements to the documentation are always welcome. You can find them in the path. I use to build the documentation website. The website is published automatically whenever the master
branch is updated.