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:
{
"extends": ["pagarme-base"]
}
Rules
Semicolons
Do not use semicolons.
Space before function paren
Wrong:
function transaction(amount) {
}
Right:
function transaction (amount) {
}
Linebreaks inside function parentheses
Wrong:
transaction(amount,
installments)
Right:
transaction(
amount,
installments
)
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.assign(
{},
b,
c,
)
Right:
Object.assign(
{},
b,
c
)
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.log(a)
Right:
const a = 'This is a test'
console.log(a)