Skip to content

Latest commit

 

History

History
71 lines (42 loc) · 2.32 KB

CONTRIBUTING.md

File metadata and controls

71 lines (42 loc) · 2.32 KB

Contributing to tslint-folders

Instructions

These steps will guide you through contributing to this project:

  • Fork the repo

  • Clone it and install dependencies

      git clone https://github.com/YOUR-USERNAME/tslint-folders
      yarn
    

Make and commit your changes. Make sure the commands yarn build and yarn test:prod are working.

Finally open a GitHub Pull Request with a clear list of what you've done (read more about pull requests). Try to make your commits atomic (one change per commit).

dependencies

We use semantic-release to manage versioning and the build process.

npm install -g semantic-release-cli

We use yarn because we like it, and to avoid an issue with commitizen on Windows.

use a feature branch

Any pushes to master will try to publish to npm (if travis build succeeds). So it's best to first develop on a feature branch - named like feature/my-feature, and then when it has a green build, and it is reviewed, we will merge it to master.

This project uses semantic release, so when committing its best to use this script:

./commit.sh

commit message format

Please use an appropriate prefix to your commit messages, so that semantic release will know how to decide the next semantic version. See Angular commit message conventions.

running unit tests

locally: (minimal build)

yarn build-and-test

before pushing: (saves time waiting for a failed build)

yarn test:prod

merging to master [restricted access!] (will create a release!)

merging a feature branch into master: (after the build is green!)

via github site (recommended)

  • create pull request for the feature branch
  • merge the pull request into master

via command line (not recommended, as then need to delete branches)

git checkout master
git fetch && git pull
git merge feature/my-feature
git push

releasing (from master branch) [restricted access!]

To release, simply push to github. This will automatically run builds, generate release notes on github, and release to npm!

git push