|
| 1 | +#Contributing to the Optimizely JavaScript SDK |
| 2 | + |
| 3 | +We welcome contributions and feedback! Please read the [README](README.md) to set up your development environment, then read the guidelines below for information on submitting your code. |
| 4 | + |
| 5 | +## Development process |
| 6 | + |
| 7 | +1. Create a branch off of `master`: `git checkout -b YOUR_NAME/branch_name`. |
| 8 | +2. Commit your changes. Make sure to add tests! |
| 9 | +3. Run `npm run lint` to ensure there are no lint errors. |
| 10 | +4. `git push` your changes to GitHub. |
| 11 | +5. Make sure that all unit tests are passing and that there are no merge conflicts between your branch and `master`. |
| 12 | +6. Open a pull request from `YOUR_NAME/branch_name` to `master`. |
| 13 | +7. A repository maintainer will review your pull request and, if all goes well, merge it! |
| 14 | + |
| 15 | +##Pull request acceptance criteria |
| 16 | + |
| 17 | +* **All code must have test coverage.** We use Mocha's chai assertion library and Sinon. Changes in functionality should have accompanying unit tests. Bug fixes should have accompanying regression tests. |
| 18 | + * Tests are located in the `tests.js` file. |
| 19 | +* Please don't change the `package.json` or `VERSION`. We'll take care of bumping the version when we next release. |
| 20 | +* Lint your code with our `npm run lint` before submitting. |
| 21 | + |
| 22 | +##Style |
| 23 | +To enforce style rules, we use ESLint. See our [.eslintrc.js](.eslintrc.js) for more information on our specific style rules. |
| 24 | + |
| 25 | +##License |
| 26 | + |
| 27 | +By contributing your code, you agree to license your contribution under the terms of the [Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0). Your contributions should also include the following header: |
| 28 | + |
| 29 | +``` |
| 30 | +/** |
| 31 | + * Copyright 2016, Optimizely |
| 32 | + * |
| 33 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
| 34 | + * you may not use this file except in compliance with the License. |
| 35 | + * You may obtain a copy of the License at |
| 36 | + * |
| 37 | + * http://www.apache.org/licenses/LICENSE-2.0 |
| 38 | + * |
| 39 | + * Unless required by applicable law or agreed to in writing, software |
| 40 | + * distributed under the License is distributed on an "AS IS" BASIS, |
| 41 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 42 | + * See the License for the specific language governing permissions and |
| 43 | + * limitations under the License. |
| 44 | + */ |
| 45 | + ``` |
| 46 | + |
| 47 | +##Contact |
| 48 | +If you have questions, please contact [email protected]. |
0 commit comments