3.0.0 • Published 5 years ago

eslint-config-pagarme-base v3.0.0

Weekly downloads
960
License
MIT
Repository
github
Last release
5 years ago

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)