31 lines
976 B
Markdown
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');
|
|
``` |