eslint-config-deepstream

Beautiful Javascript code at Deepstream.io


Keywords
eslint, config, deepstream.io, styleguide
License
MIT
Install
npm install eslint-config-deepstream@2.2.0

Documentation

Deepstream Javascript Style Guide

npm code style: deepstream

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.