eslint-config-deepstream
v2.2.1Deepstream Javascript Style Guide
This package provides Deepstream's .eslintrc.json as an extensible shared config. It extends the popular config by Airbnb and changes a few rules to fit our taste.
Usage
Our default export contains all of our ESLint rules, including ECMAScript 6+
and React. It requires eslint
, eslint-plugin-import
, eslint-plugin-react
,
and eslint-plugin-jsx-a11y
.
Install this package and all it's peer dependencies. Unfortunately, they cannot be normal dependencies.
npm install --save-dev eslint-config-deepstream eslint-plugin-import
eslint-plugin-react eslint-plugin-jsx-a11y eslint
Create an .eslintrc.json
with this content:
{
"extends": "deepstream"
}
Deviations from Airbnb
We are adopting most of the rules from Airbnb. Please check out their styleguide to get the full picture.
We do have different opinions on these topics:
Semicolons
They are not needed and code
looks better without them. eslint: semi
Underscores in function names
We use leading underscores to express that a function is private. eslint:
no-underscore-dangle
Constant conditions
When using generators, while (true)
loops make sense. eslint:
no-constant-condition
Function calls before definition
Classes read better if private methods are defined below their first usage.
Tests read better when all helper functions are defined at the bottom. eslint:
no-use-before-define
Trailing commas
We don't want to force to use trailing commas, just for a cleaner git diff. But we also don't disallow to use them.
Metadata
- MIT
- >= 4
- Deepstream GmbH
- released 3/25/2017