|
| 1 | +# Contributing |
| 2 | + |
| 3 | +We welcome and truly appreciate contribution in all forms - issues, pull requests, questions, or fancy examples of apps/elements build on to of your elements. |
| 4 | + |
| 5 | +## Filing bugs |
| 6 | + |
| 7 | +Our team heavily uses Github for all of our software management. We use Github issues to track all bugs and features. |
| 8 | + |
| 9 | +If you find an issue, please do file it on the repository. |
| 10 | + |
| 11 | +We love examples for addressing issues - issues with a Plunkr, [jsFiddle](http://jsfiddle.net), or [jsBin](http://jsbin.com) will be much easier for us to work on quickly. |
| 12 | + |
| 13 | +Occasionally we'll close issues if they appear stale or are too vague - please don't take this personally! Please feel free to re-open issues we've closed if there's something we've missed and they still need to be addressed. |
| 14 | + |
| 15 | +## Developing the element |
| 16 | + |
| 17 | +If you would like to start to fiddle with element's code, here is the flow we use. |
| 18 | + |
| 19 | +- Make a local clone of this repo: `git clone [email protected]:Palindrom/palindrom-error-catcher.git` |
| 20 | + |
| 21 | +In order to develop it locally we suggest to use [polyserve](https://npmjs.com/polyserve) tool to handle bower paths gently. |
| 22 | + |
| 23 | +0. Go to the repo's directory: `cd palindrom-error-catcher` |
| 24 | +1. Install [bower](http://bower.io/) & [polyserve](https://npmjs.com/polyserve): `$ npm install -g bower polyserve` |
| 25 | +2. Install local dependencies: `$ bower install` |
| 26 | +3. Start development server `$ polyserve -p 8000` |
| 27 | +4. Open the demo/preview: [http://localhost:8000/components/palindrom-error-catcher/](http://localhost:8000/components/palindrom-error-catcher/) |
| 28 | +5. Open the test suite: [http://localhost:8000/components/palindrom-error-catcher/test/](http://localhost:8000/components/palindrom-error-catcher/test/) |
| 29 | + |
| 30 | +## Contributing Pull Requests |
| 31 | + |
| 32 | +1. Fork it! |
| 33 | +2. Create your feature branch: `git checkout -b my-new-feature` |
| 34 | +3. Commit your changes: `git commit -m 'Add some feature'` |
| 35 | +4. Push to the branch: `git push origin my-new-feature` |
| 36 | +5. Open corresponding issue if needed |
| 37 | +6. Submit a pull request :D |
| 38 | + |
| 39 | + |
| 40 | +## Unit tests |
| 41 | + |
| 42 | +This project uses [`web-component-tester`](https://github.com/Polymer/web-component-tester) for unit tests. |
| 43 | +The [`polyserve`](https://github.com/PolymerLabs/polyserve) utility is helpful for running tests in the browser](#developing-the-element). |
| 44 | + |
| 45 | + |
| 46 | +### Running element unit tests from CLI |
| 47 | + |
| 48 | +To run the element unit tests from CLI, you need to: |
| 49 | + |
| 50 | +0. Install `web-component-tester` globally: `npm install -g web-component-tester` |
| 51 | +1. Clone the element repo. |
| 52 | +2. Install the dependencies. `bower install` |
| 53 | +3. Run the tests: `wct` |
| 54 | + |
| 55 | +#### Configuring `web-component-tester` |
| 56 | + |
| 57 | +By default, `web-component-tester` runs tests on all installed browsers. You can configure it |
| 58 | +to run tests on a subset of available browsers, or to run tests remotely using Sauce Labs. |
| 59 | + |
| 60 | +See the [`web-component-tester` README](https://github.com/Polymer/web-component-tester) for |
| 61 | +information on configuring the tool. |
| 62 | + |
| 63 | +## Releasing a new version |
| 64 | + |
| 65 | +**The release is done from `master` branch.** |
| 66 | + |
| 67 | +1. Make sure that the browser tests pass in Chrome, Firefox, Edge and IE. This can be done manually or using `npm run test` (see instructions above). |
| 68 | +2. Call `git status` to verify that there are no uncommited files in the directory |
| 69 | +3. Call `grunt bump:patch`, `grunt bump:minor` or `grunt bump:major`. This command: |
| 70 | + - increments the version number in the relevant files |
| 71 | + - commits changes to Git with the version number as the commit message |
| 72 | + - creates a Git tag wit the version |
| 73 | +4. Call `git push` to push the changes to `origin master` |
| 74 | +5. Call `git push --tags` to push the tag to `origin master` |
| 75 | +6. Explain the changes (at least an summary of the commit log) in [GitHub Releases](https://github.com/Palindrom/palindrom-error-catcher). |
0 commit comments