|  | 
|  | 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