Towers Watson Exchange Solutions JavaScript Style Guide
![Build Status](https://travis-ci.org/TWExchangeSolutions/eslint-config-exchange-solutions.svg?branch=master)
We are extending the Airbnb Style Guide, with overrides for
things we do not plan to prescribe to.
Table of Contents
- Usage
- With React Style
- Without React Style
- Es5
- Rules
- Commas
Usage
With React Style
npm install --save-dev eslint-config-exchange-solutions babel-eslint eslint-plugin-react
- add
"extends": "exchange-solutions"
to your .eslintrc
Without React Style
npm install --save-dev eslint-config-exchange-solutions babel-eslint
- add
"extends": "exchange-solutions/base"
to your .eslintrc
npm install --save-dev eslint-config-exchange-solutions
- add
"extends": "exchange-solutions/es5"
to your .eslintrc
See Airbnb's Javascript styleguide, Towers Watson Exchange
Solutions styleguide and
the ESlint config
docs for more
information.
Rules
Commas
- 1 Additional trailing comma: Nope.
Airbnb [states] that this rule makes git diffs cleaner, though we don't really see any significant
value in this especially for Arrays or Objects that only have one item.
const heroes = [ 'Batman', 'Superman', ];
const heroes = [ 'Batman', 'Superman' ];
⬆ back to top
Curly braces around objects
⬆ back to top
Unary increments and decrements
- 1 You can use
++
for loops, but otherwise use += 1
or -= 1
syntax.
The Airbnb example
suggests that array methods such as filter
and reduce
should be used over
traditional loops. We agree that those options are often better. However, we
find value, in cases where loops are necessary, to be allowed the convenience
of unary increment statements for the loop declaration. Otherwise, we agree
with their reasoning about unary increment and decrement statements.
const array = [1, 2, 3];
let num = 1;
num++;
--num;
const array = [1, 2, 3];
let num = 1;
num += 1;
num -= 1;
for (let i = 0; i < array.length; i++) {
console.log(`The value at ${i} is ${array[i]}`);
}
⬆ back to top