enigma-bbs/CONTRIBUTING.md

31 lines
976 B
Markdown
Raw Normal View History

# Contributing
2022-06-10 23:21:53 +00:00
## 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.
2023-01-08 20:18:40 +00:00
* Though you'll see a lot of older style callback code, please utilize modern JavaScript. ES6 classes, [Arrow Functions](#arrow-functions), and builtins.
2022-06-10 22:18:22 +00:00
* 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.
2023-01-08 20:18:40 +00:00
* 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');
```