eslint-config-deepstream
v2.2.1
Published
Beautiful Javascript code at Deepstream.io
Downloads
825
Maintainers
Readme
Deepstream 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.