Pagar.me JavaScript Style Guide
Our style guide is based on Airbnb's. Differences between them are described below.
Installing
The rules described in this repository are also available as a eslint config package. To install the package and its dependencies:
$ npm install --save-dev eslint@5.3.0 \ eslint-plugin-import@2.16.0 \ eslint-config-pagarme-base
The peer dependencies specified above have hardcoded versions. If you prefer you can use the command
npm info eslint-config-airbnb-base@latest peerDependencies
to find the exact peer dependencies to install.
To include in the project, create an .eslintrc
file with at least the
following contents:
Rules
Semicolons
Do not use semicolons.
Space before function paren
Wrong:
{ }
Right:
{ }
Linebreaks inside function parentheses
Wrong:
Right:
Comma dangle always on multiline except on functions
Wrong:
const array = 1 2 3
Right:
const array = 1 2 3
Wrong:
const array = 1 2 3
Right:
const array = 1 2 3
Wrong:
const obj = a: 1 b: 2 c: 3
Right:
const obj = a: 1 b: 2 c: 3
Dangling comma may cause weird errors when used on functions, you should avoid it.
Wrong:
Object
Right:
Object
Maximum Line Length
Avoid having lines of code that are longer than 80 characters (including whitespace).
Maximum params in function definition
A function should have no more than 3 parameters. Consider using an options
object
parameter if you need to pass in more values to a function.
Multiple Empty Lines
Disallow the use of 2+ empty lines in the middle of the code.
Wrong:
const a = 'This is a test' console
Right:
const a = 'This is a test' console