social-likes-nojq/Contributing.md

85 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# How to contribute
I love pull requests. And following this simple guidelines will make your pull request easier to merge.
## Submitting pull requests
1. Create a new branch, please dont work in master directly.
2. Add failing tests (if therere any tests in project) for the change you want to make. Run tests (see below) to see the tests fail.
3. Hack on.
4. Run tests to see if the tests pass. Repeat steps 24 until done.
5. Update the documentation to reflect any changes.
6. Push to your fork and submit a pull request.
## JavaScript code style
See [JSHint](.jshintrc) and [JSCS](.jscs.json) config files for more details.
- Tab indentation.
- Single-quotes.
- Semicolon.
- Strict mode.
- No trailing whitespace.
- Variables where needed.
- Multiple variable statements.
- Space after keywords and between arguments and operators.
- Use === and !== over == and !=.
- Return early.
- Limit line lengths to 120 chars.
- Prefer readability over religion.
Example:
```js
'use strict';
function foo(bar, fum) {
if (!bar) return;
var hello = 'Hello';
var ret = 0;
for (var barIdx = 0; barIdx < bar.length; barIdx++) {
if (bar[barIdx] === hello) {
ret += fum(bar[barIdx]);
}
}
return ret;
}
```
## Other notes
- If you have commit access to repo and want to make big change or not sure about something, make a new branch and open pull request.
- Dont commit generated files: compiled from Stylus CSS, minified JavaScript, etc.
- Dont change version number and changelog.
- Install [EditorConfig](http://editorconfig.org/) plugin for your code editor.
- Feel free to [ask me](http://sapegin.me/contacts) anything you need.
## Building and running tests
`cd` to `src` folder first.
Install dependencies:
```bash
npm install grunt-cli -g
npm install
```
Hack on:
```bash
grunt watch
```
Build / run tests:
```bash
grunt
```