eslint-config-actano
v13.2.1
Published
Beautiful Javascript code at Actano
Downloads
1,087
Readme
Actano Javascript Style Guide
This package provides Actano'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 its peer dependencies. Unfortunately, they cannot be normal dependencies. Please consult the package.json
for correct version information of the peer dependencies.
yarn add --dev eslint eslint-config-actano eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y
Create an .eslintrc.yml
with this content:
extends: actano
You might need enable the mocha context and allow having no-unused-expression
in your test files by configuring this in a separate .eslintrc.yml
inside your test directory:
env:
mocha: true
rules:
no-unused-expressions: off
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
Function names
Allow function expressions without a name. eslint: func-names
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
Iterators
We want to use generators. eslint: no-iterator
ForOfStatement
for .. of
loops provide an easy way to iterate through iterators. eslint: no-restricted-syntax
Arrow functions
We want to not be forced how are writing our arrow function bodies. eslint: implicit-arrow-linebreak
Destructoring props
We don't want to be forced to always destructore props in React components. eslint: react/destructuring-assignment