enigma-bbs/CONTRIBUTING.md

31 lines
976 B
Markdown

# Contributing
## Style & Formatting
* In general, [Prettier](https://prettier.io) is used. See the [Prettier installation and basic instructions](https://prettier.io/docs/en/install.html) for more information.
* Though you'll see a lot of older style callback code, please utilize modern JavaScript. ES6 classes, [Arrow Functions](#arrow-functions), and builtins.
* There is almost never a reason to use `var`. Prefer `const` where you can and and `let` otherwise.
* Save with UNIX line feeds, UTF-8 without BOM, and tabs set to 4 spaces.
* Do not include the `.js` suffix when [Importing (require)](#import-require)
### Arrow Functions
Prefer anonymous arrow functions with access to `this` for callbacks.
```js
// Good!
someApi(foo, bar, (err, result) => {
// ...
});
// Bad :(
someApi(foo, bar, function callback(err, result) {
// ...
});
```
### Import (require)
```javascript
// Good!
const foo = require('foo');
// Bad :(
const foo = require('foo.js');
```