pagarme / javascript-style-guide

:art: Javascript styleguide followed by us here at Pagar.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

About

:art: Javascript styleguide followed by us here at Pagar.me

License:MIT License


Languages

Language:JavaScript 100.0%