eslint-config-pagarme-base

3.0.0 • Public • Published

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)

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i eslint-config-pagarme-base

    Weekly Downloads

    1,605

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    4.92 kB

    Total Files

    4

    Last publish

    Collaborators

    • pagarme-opensource
    • matheusvellone
    • lucianopf
    • marquinhoalm
    • zignd
    • asamedeirospagarme
    • cigoli
    • geraldofada-pagarme
    • gabilleone
    • ramonpaolo-pagarme
    • davidsmedeiros
    • andre.lsilva
    • bruno.mduarte
    • nathaliacrelier
    • jonasnt17
    • danielponde
    • rpsantos1987
    • prifight
    • carolinaaguelera
    • gabrielpagarme
    • magnomoreira