The most comprehensive ES code style guide.
Branch: master
Clone or download

README.md

Canonical ESLint Config

Travis build status NPM version

Canonical is the most comprehensive code style guide. It consists of more than 800 rules, some of which are custom written for Canonical (e.g. eslint-plugin-jsdoc, eslint-plugin-flowtype).

The goal of the Canonical style guide is to reduce noise in code version control and promote use of the latest ES features.

Usage

This package includes the following configurations:

  • canonical – The Canonical code style guide.
  • canonical/ava – To be used in addition to "canonical" configuration by projects that use AVA.
  • canonical/flowtype – To be used in addition to "canonical" configuration by projects that use Flowtype.
  • canonical/jest – To be used in addition to "canonical" configuration by projects that use jest.
  • canonical/lodash – To be used in addition to "canonical" configuration by projects that use lodash.
  • canonical/mocha – To be used in addition to "canonical" configuration by projects that use Mocha.
  • canonical/react – To be used in addition to "canonical" configuration by projects that use React.

Example:

{
  "extends": [
    "canonical",
    "canonical/ava",
    "canonical/flowtype",
    "canonical/jest",
    "canonical/lodash",
    "canonical/mocha",
    "canonical/react"
  ]
}

Versioning Policy

All breaking changes will bump the major version as per the semver convention. Therefore, every new rule addition will increase the major version.

Table of comparison

This is how Canonical ruleset compares to other popular configurations.

Rule Canonical Airbnb Google Standard
accessor-pairs error 🚨 off N/A 👻 error 🚨
array-bracket-newline off off off N/A 👻
array-bracket-spacing error 🚨 error 🚨 error 🚨 N/A 👻
array-callback-return error 🚨 error 🚨 N/A 👻 N/A 👻
array-element-newline off off off N/A 👻
arrow-body-style error 🚨 error 🚨 N/A 👻 N/A 👻
arrow-parens error 🚨 error 🚨 error 🚨 N/A 👻
arrow-spacing error 🚨 error 🚨 N/A 👻 error 🚨
ava/assertion-arguments error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/max-asserts warn ⚠️ N/A 👻 N/A 👻 N/A 👻
ava/no-async-fn-without-await error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-cb-test error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-duplicate-modifiers error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-identical-title error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-ignored-test-files error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-import-test-files error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-invalid-end error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-nested-tests error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-only-test error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-skip-assert error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-skip-test error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-statement-after-end error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-todo-implementation error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/no-todo-test warn ⚠️ N/A 👻 N/A 👻 N/A 👻
ava/no-unknown-modifiers error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/prefer-async-await error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/prefer-power-assert error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/test-ended error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/test-title error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/use-t error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/use-t-well error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/use-test error 🚨 N/A 👻 N/A 👻 N/A 👻
ava/use-true-false error 🚨 N/A 👻 N/A 👻 N/A 👻
babel/new-cap off N/A 👻 N/A 👻 N/A 👻
babel/no-invalid-this error 🚨 N/A 👻 N/A 👻 N/A 👻
babel/object-curly-spacing error 🚨 N/A 👻 N/A 👻 N/A 👻
babel/valid-typeof error 🚨 N/A 👻 N/A 👻 N/A 👻
block-scoped-var error 🚨 error 🚨 N/A 👻 N/A 👻
block-spacing error 🚨 error 🚨 error 🚨 error 🚨
brace-style error 🚨 error 🚨 error 🚨 error 🚨
callback-return error 🚨 off N/A 👻 N/A 👻
camelcase off error 🚨 error 🚨 error 🚨
capitalized-comments off off N/A 👻 N/A 👻
class-methods-use-this error 🚨 error 🚨 N/A 👻 N/A 👻
comma-dangle error 🚨 error 🚨 error 🚨 error 🚨
comma-spacing error 🚨 error 🚨 error 🚨 error 🚨
comma-style error 🚨 error 🚨 error 🚨 error 🚨
complexity warn ⚠️ off N/A 👻 N/A 👻
computed-property-spacing error 🚨 error 🚨 error 🚨 N/A 👻
consistent-return error 🚨 error 🚨 N/A 👻 N/A 👻
consistent-this error 🚨 off N/A 👻 N/A 👻
constructor-super error 🚨 error 🚨 error 🚨 error 🚨
curly error 🚨 error 🚨 error 🚨 error 🚨
default-case off error 🚨 N/A 👻 N/A 👻
dot-location error 🚨 error 🚨 N/A 👻 error 🚨
dot-notation error 🚨 error 🚨 N/A 👻 N/A 👻
eol-last error 🚨 error 🚨 error 🚨 error 🚨
eqeqeq error 🚨 error 🚨 N/A 👻 error 🚨
filenames/match-exported error 🚨 N/A 👻 N/A 👻 N/A 👻
filenames/match-regex error 🚨 N/A 👻 N/A 👻 N/A 👻
filenames/no-index off N/A 👻 N/A 👻 N/A 👻
flowtype/boolean-style error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/define-flow-type warn ⚠️ N/A 👻 N/A 👻 N/A 👻
flowtype/delimiter-dangle error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/generic-spacing error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/newline-after-flow-annotation error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/no-existential-type off N/A 👻 N/A 👻 N/A 👻
flowtype/no-flow-fix-me-comments warn ⚠️ N/A 👻 N/A 👻 N/A 👻
flowtype/no-mutable-array error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/no-primitive-constructor-types error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/no-types-missing-file-annotation error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/no-unused-expressions off N/A 👻 N/A 👻 N/A 👻
flowtype/no-weak-types error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/object-type-delimiter error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/require-exact-type warn ⚠️ N/A 👻 N/A 👻 N/A 👻
flowtype/require-parameter-type off N/A 👻 N/A 👻 N/A 👻
flowtype/require-return-type off N/A 👻 N/A 👻 N/A 👻
flowtype/require-types-at-top error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/require-valid-file-annotation error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/require-variable-type off N/A 👻 N/A 👻 N/A 👻
flowtype/semi error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/sort-keys off N/A 👻 N/A 👻 N/A 👻
flowtype/space-after-type-colon error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/space-before-generic-bracket error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/space-before-type-colon error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/type-id-match error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/type-import-style error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/union-intersection-spacing error 🚨 N/A 👻 N/A 👻 N/A 👻
flowtype/use-flow-type warn ⚠️ N/A 👻 N/A 👻 N/A 👻
for-direction error 🚨 error 🚨 N/A 👻 N/A 👻
func-call-spacing error 🚨 error 🚨 error 🚨 error 🚨
func-name-matching error 🚨 off N/A 👻 N/A 👻
func-names off warn ⚠️ N/A 👻 N/A 👻
func-style error 🚨 off N/A 👻 N/A 👻
function-paren-newline error 🚨 error 🚨 N/A 👻 N/A 👻
generator-star-spacing error 🚨 error 🚨 error 🚨 error 🚨
getter-return N/A 👻 error 🚨 N/A 👻 N/A 👻
global-require error 🚨 error 🚨 N/A 👻 N/A 👻
guard-for-in error 🚨 error 🚨 error 🚨 N/A 👻
handle-callback-err error 🚨 off N/A 👻 error 🚨
id-blacklist N/A 👻 off N/A 👻 N/A 👻
id-length warn ⚠️ off N/A 👻 N/A 👻
id-match error 🚨 off N/A 👻 N/A 👻
implicit-arrow-linebreak error 🚨 error 🚨 N/A 👻 N/A 👻
import/default error 🚨 off N/A 👻 N/A 👻
import/dynamic-import-chunkname N/A 👻 off N/A 👻 N/A 👻
import/export error 🚨 error 🚨 N/A 👻 error 🚨
import/exports-last error 🚨 off N/A 👻 N/A 👻
import/extensions error 🚨 error 🚨 N/A 👻 N/A 👻
import/first error 🚨 error 🚨 N/A 👻 error 🚨
import/group-exports off off N/A 👻 N/A 👻
import/imports-first N/A 👻 off N/A 👻 N/A 👻
import/max-dependencies warn ⚠️ off N/A 👻 N/A 👻
import/named error 🚨 error 🚨 N/A 👻 N/A 👻
import/namespace error 🚨 off N/A 👻 N/A 👻
import/newline-after-import error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-absolute-path error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-amd error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-anonymous-default-export off off N/A 👻 N/A 👻
import/no-commonjs error 🚨 off N/A 👻 N/A 👻
import/no-cycle error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-default-export off off N/A 👻 N/A 👻
import/no-deprecated warn ⚠️ off N/A 👻 N/A 👻
import/no-duplicates off error 🚨 N/A 👻 error 🚨
import/no-dynamic-require error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-extraneous-dependencies error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-internal-modules off off N/A 👻 N/A 👻
import/no-mutable-exports error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-named-as-default error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-named-as-default-member error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-named-default error 🚨 error 🚨 N/A 👻 error 🚨
import/no-namespace error 🚨 off N/A 👻 N/A 👻
import/no-nodejs-modules off off N/A 👻 N/A 👻
import/no-relative-parent-imports off off N/A 👻 N/A 👻
import/no-restricted-paths off off N/A 👻 N/A 👻
import/no-self-import error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-unassigned-import error 🚨 off N/A 👻 N/A 👻
import/no-unresolved error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-useless-path-segments error 🚨 error 🚨 N/A 👻 N/A 👻
import/no-webpack-loader-syntax error 🚨 error 🚨 N/A 👻 error 🚨
import/order error 🚨 error 🚨 N/A 👻 N/A 👻
import/prefer-default-export warn ⚠️ error 🚨 N/A 👻 N/A 👻
import/unambiguous warn ⚠️ off N/A 👻 N/A 👻
indent error 🚨 error 🚨 error 🚨 error 🚨
init-declarations off off N/A 👻 N/A 👻
jest/no-disabled-tests error 🚨 N/A 👻 N/A 👻 N/A 👻
jest/no-focused-tests error 🚨 N/A 👻 N/A 👻 N/A 👻
jest/no-identical-title error 🚨 N/A 👻 N/A 👻 N/A 👻
jest/valid-expect error 🚨 N/A 👻 N/A 👻 N/A 👻
jsdoc/check-param-names warn ⚠️ N/A 👻 N/A 👻 N/A 👻
jsdoc/check-tag-names warn ⚠️ N/A 👻 N/A 👻 N/A 👻
jsdoc/check-types warn ⚠️ N/A 👻 N/A 👻 N/A 👻
jsdoc/newline-after-description warn ⚠️ N/A 👻 N/A 👻 N/A 👻
jsdoc/require-description-complete-sentence off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-hyphen-before-param-description off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-param off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-param-description off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-param-name error 🚨 N/A 👻 N/A 👻 N/A 👻
jsdoc/require-param-type off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-returns-description off N/A 👻 N/A 👻 N/A 👻
jsdoc/require-returns-type off N/A 👻 N/A 👻 N/A 👻
jsx-a11y/accessible-emoji N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/alt-text N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/anchor-has-content N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/anchor-is-valid N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/aria-activedescendant-has-tabindex N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/aria-props N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/aria-proptypes N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/aria-role N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/aria-unsupported-elements N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/click-events-have-key-events N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/heading-has-content N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/html-has-lang N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/iframe-has-title N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/img-redundant-alt N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/interactive-supports-focus N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/label-has-associated-control N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/label-has-for N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/lang N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/media-has-caption N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/mouse-events-have-key-events N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-access-key N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-autofocus N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-distracting-elements N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-interactive-element-to-noninteractive-role N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-noninteractive-element-interactions N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-noninteractive-element-to-interactive-role N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-noninteractive-tabindex N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-onchange N/A 👻 off N/A 👻 N/A 👻
jsx-a11y/no-redundant-roles N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/no-static-element-interactions N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/role-has-required-aria-props N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/role-supports-aria-props N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/scope N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-a11y/tabindex-no-positive N/A 👻 error 🚨 N/A 👻 N/A 👻
jsx-quotes error 🚨 error 🚨 N/A 👻 N/A 👻
key-spacing error 🚨 error 🚨 error 🚨 error 🚨
keyword-spacing error 🚨 error 🚨 error 🚨 error 🚨
line-comment-position error 🚨 off N/A 👻 N/A 👻
linebreak-style error 🚨 error 🚨 error 🚨 N/A 👻
lines-around-comment error 🚨 off N/A 👻 N/A 👻
lines-around-directive error 🚨 error 🚨 N/A 👻 N/A 👻
lines-between-class-members error 🚨 error 🚨 N/A 👻 N/A 👻
lodash/callback-binding warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/chain-style warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/chaining warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/collection-method-value warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/collection-return warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/consistent-compose warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/identity-shorthand warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/import-scope off N/A 👻 N/A 👻 N/A 👻
lodash/matches-prop-shorthand warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/matches-shorthand warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/no-commit warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/no-double-unwrap warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/no-extra-args warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/path-style off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-compact warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-constant off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-filter warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-find error 🚨 N/A 👻 N/A 👻 N/A 👻
lodash/prefer-get warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-immutable-method error 🚨 N/A 👻 N/A 👻 N/A 👻
lodash/prefer-includes warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-invoke-map off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-is-nil warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-lodash-chain warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-lodash-method off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-lodash-typecheck warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-map warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-matches warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-noop off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-over-quantifier warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-reject warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-startswith off N/A 👻 N/A 👻 N/A 👻
lodash/prefer-thru warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-times warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prefer-wrapper-method warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/preferred-alias warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/prop-shorthand warn ⚠️ N/A 👻 N/A 👻 N/A 👻
lodash/unwrap warn ⚠️ N/A 👻 N/A 👻 N/A 👻
max-classes-per-file N/A 👻 off N/A 👻 N/A 👻
max-depth N/A 👻 off N/A 👻 N/A 👻
max-len warn ⚠️ error 🚨 error 🚨 N/A 👻
max-lines N/A 👻 off N/A 👻 N/A 👻
max-lines-per-function N/A 👻 off N/A 👻 N/A 👻
max-nested-callbacks warn ⚠️ off N/A 👻 N/A 👻
max-params N/A 👻 off N/A 👻 N/A 👻
max-statements N/A 👻 off N/A 👻 N/A 👻
max-statements-per-line error 🚨 off N/A 👻 N/A 👻
mocha/max-top-level-suites error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-exclusive-tests error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-hooks-for-single-case warn ⚠️ N/A 👻 N/A 👻 N/A 👻
mocha/no-identical-title error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-nested-tests error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-return-and-callback error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-setup-in-describe error 🚨 N/A 👻 N/A 👻 N/A 👻
mocha/no-top-level-hooks error 🚨 N/A 👻 N/A 👻 N/A 👻
multiline-comment-style off off N/A 👻 N/A 👻
multiline-ternary off off N/A 👻 N/A 👻
new-cap off error 🚨 error 🚨 error 🚨
new-parens error 🚨 error 🚨 N/A 👻 error 🚨
newline-after-var error 🚨 off N/A 👻 N/A 👻
newline-before-return error 🚨 off N/A 👻 N/A 👻
newline-per-chained-call off error 🚨 N/A 👻 N/A 👻
no-alert error 🚨 warn ⚠️ N/A 👻 N/A 👻
no-array-constructor error 🚨 error 🚨 error 🚨 error 🚨
no-async-promise-executor error 🚨 off N/A 👻 N/A 👻
no-await-in-loop off error 🚨 N/A 👻 N/A 👻
no-bitwise N/A 👻 error 🚨 N/A 👻 N/A 👻
no-buffer-constructor error 🚨 error 🚨 N/A 👻 N/A 👻
no-caller error 🚨 error 🚨 error 🚨 error 🚨
no-case-declarations error 🚨 error 🚨 N/A 👻 N/A 👻
no-catch-shadow error 🚨 off N/A 👻 N/A 👻
no-class-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-compare-neg-zero error 🚨 error 🚨 N/A 👻 error 🚨
no-cond-assign error 🚨 error 🚨 off error 🚨
no-confusing-arrow error 🚨 error 🚨 N/A 👻 N/A 👻
no-console error 🚨 warn ⚠️ N/A 👻 N/A 👻
no-const-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-constant-condition warn ⚠️ warn ⚠️ N/A 👻 error 🚨
no-continue error 🚨 error 🚨 N/A 👻 N/A 👻
no-control-regex error 🚨 error 🚨 N/A 👻 error 🚨
no-debugger warn ⚠️ error 🚨 N/A 👻 error 🚨
no-delete-var error 🚨 error 🚨 N/A 👻 error 🚨
no-div-regex error 🚨 off N/A 👻 N/A 👻
no-dupe-args error 🚨 error 🚨 N/A 👻 error 🚨
no-dupe-class-members error 🚨 error 🚨 N/A 👻 error 🚨
no-dupe-keys error 🚨 error 🚨 N/A 👻 error 🚨
no-duplicate-case error 🚨 error 🚨 N/A 👻 error 🚨
no-duplicate-imports error 🚨 off N/A 👻 N/A 👻
no-else-return off error 🚨 N/A 👻 N/A 👻
no-empty error 🚨 error 🚨 N/A 👻 N/A 👻
no-empty-character-class error 🚨 error 🚨 N/A 👻 error 🚨
no-empty-function N/A 👻 error 🚨 N/A 👻 N/A 👻
no-empty-pattern error 🚨 error 🚨 N/A 👻 error 🚨
no-eq-null error 🚨 off N/A 👻 N/A 👻
no-eval error 🚨 error 🚨 N/A 👻 error 🚨
no-ex-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-extend-native error 🚨 error 🚨 error 🚨 error 🚨
no-extra-bind error 🚨 error 🚨 error 🚨 error 🚨
no-extra-boolean-cast off error 🚨 N/A 👻 error 🚨
no-extra-label N/A 👻 error 🚨 N/A 👻 N/A 👻
no-extra-parens error 🚨 off N/A 👻 error 🚨
no-extra-semi error 🚨 error 🚨 N/A 👻 N/A 👻
no-fallthrough error 🚨 error 🚨 N/A 👻 error 🚨
no-floating-decimal error 🚨 error 🚨 N/A 👻 error 🚨
no-func-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-global-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-implicit-coercion error 🚨 off N/A 👻 N/A 👻
no-implicit-globals off off N/A 👻 N/A 👻
no-implied-eval error 🚨 error 🚨 N/A 👻 error 🚨
no-inline-comments error 🚨 off N/A 👻 N/A 👻
no-inner-declarations error 🚨 error 🚨 N/A 👻 error 🚨
no-invalid-regexp error 🚨 error 🚨 N/A 👻 error 🚨
no-invalid-this off off error 🚨 N/A 👻
no-irregular-whitespace error 🚨 error 🚨 error 🚨 error 🚨
no-iterator error 🚨 error 🚨 N/A 👻 error 🚨
no-label-var error 🚨 error 🚨 N/A 👻 error 🚨
no-labels error 🚨 error 🚨 N/A 👻 error 🚨
no-lone-blocks error 🚨 error 🚨 N/A 👻 error 🚨
no-lonely-if error 🚨 error 🚨 N/A 👻 N/A 👻
no-loop-func error 🚨 error 🚨 N/A 👻 N/A 👻
no-magic-numbers off off N/A 👻 N/A 👻
no-misleading-character-class error 🚨 off N/A 👻 N/A 👻
no-mixed-operators N/A 👻 error 🚨 N/A 👻 error 🚨
no-mixed-requires off off N/A 👻 N/A 👻
no-mixed-spaces-and-tabs error 🚨 error 🚨 error 🚨 error 🚨
no-multi-assign N/A 👻 error 🚨 N/A 👻 N/A 👻
no-multi-spaces error 🚨 error 🚨 error 🚨 error 🚨
no-multi-str error 🚨 error 🚨 error 🚨 error 🚨
no-multiple-empty-lines error 🚨 error 🚨 error 🚨 error 🚨
no-native-reassign error 🚨 off N/A 👻 N/A 👻
no-negated-condition error 🚨 off N/A 👻 N/A 👻
no-negated-in-lhs error 🚨 off N/A 👻 error 🚨
no-nested-ternary error 🚨 error 🚨 N/A 👻 N/A 👻
no-new error 🚨 error 🚨 N/A 👻 error 🚨
no-new-func error 🚨 error 🚨 N/A 👻 error 🚨
no-new-object error 🚨 error 🚨 error 🚨 error 🚨
no-new-require error 🚨 error 🚨 N/A 👻 error 🚨
no-new-symbol error 🚨 error 🚨 error 🚨 error 🚨
no-new-wrappers error 🚨 error 🚨 error 🚨 error 🚨
no-obj-calls error 🚨 error 🚨 N/A 👻 error 🚨
no-octal error 🚨 error 🚨 N/A 👻 error 🚨
no-octal-escape error 🚨 error 🚨 N/A 👻 error 🚨
no-param-reassign error 🚨 error 🚨 N/A 👻 N/A 👻
no-path-concat error 🚨 error 🚨 N/A 👻 error 🚨
no-plusplus N/A 👻 error 🚨 N/A 👻 N/A 👻
no-process-env error 🚨 off N/A 👻 N/A 👻
no-process-exit error 🚨 off N/A 👻 N/A 👻
no-proto error 🚨 error 🚨 N/A 👻 error 🚨
no-prototype-builtins N/A 👻 error 🚨 N/A 👻 N/A 👻
no-redeclare error 🚨 error 🚨 N/A 👻 error 🚨
no-regex-spaces error 🚨 error 🚨 N/A 👻 error 🚨
no-restricted-globals off error 🚨 N/A 👻 N/A 👻
no-restricted-imports N/A 👻 off N/A 👻 N/A 👻
no-restricted-modules off off N/A 👻 N/A 👻
no-restricted-properties off error 🚨 N/A 👻 N/A 👻
no-restricted-syntax error 🚨 error 🚨 N/A 👻 N/A 👻
no-return-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-return-await error 🚨 error 🚨 N/A 👻 error 🚨
no-script-url error 🚨 error 🚨 N/A 👻 N/A 👻
no-self-assign error 🚨 error 🚨 N/A 👻 error 🚨
no-self-compare error 🚨 error 🚨 N/A 👻 error 🚨
no-sequences error 🚨 error 🚨 N/A 👻 error 🚨
no-shadow error 🚨 error 🚨 N/A 👻 N/A 👻
no-shadow-restricted-names error 🚨 error 🚨 N/A 👻 error 🚨
no-spaced-func error 🚨 error 🚨 N/A 👻 N/A 👻
no-sparse-arrays error 🚨 error 🚨 N/A 👻 error 🚨
no-sync off off N/A 👻 N/A 👻
no-tabs error 🚨 error 🚨 error 🚨 error 🚨
no-template-curly-in-string error 🚨 error 🚨 N/A 👻 error 🚨
no-ternary off off N/A 👻 N/A 👻
no-this-before-super error 🚨 error 🚨 error 🚨 error 🚨
no-throw-literal error 🚨 error 🚨 error 🚨 error 🚨
no-trailing-spaces error 🚨 error 🚨 error 🚨 error 🚨
no-undef error 🚨 error 🚨 N/A 👻 error 🚨
no-undef-init error 🚨 error 🚨 N/A 👻 error 🚨
no-undefined off off N/A 👻 N/A 👻
no-underscore-dangle off error 🚨 N/A 👻 N/A 👻
no-unexpected-multiline error 🚨 error 🚨 error 🚨 error 🚨
no-unmodified-loop-condition error 🚨 off N/A 👻 error 🚨
no-unneeded-ternary error 🚨 error 🚨 N/A 👻 error 🚨
no-unreachable warn ⚠️ error 🚨 N/A 👻 error 🚨
no-unsafe-finally error 🚨 error 🚨 N/A 👻 error 🚨
no-unsafe-negation error 🚨 error 🚨 N/A 👻 error 🚨
no-unused-expressions error 🚨 error 🚨 N/A 👻 error 🚨
no-unused-labels N/A 👻 error 🚨 N/A 👻 N/A 👻
no-unused-vars error 🚨 error 🚨 error 🚨 error 🚨
no-use-before-define error 🚨 error 🚨 N/A 👻 error 🚨
no-use-extend-native/no-use-extend-native error 🚨 N/A 👻 N/A 👻 N/A 👻
no-useless-call error 🚨 off N/A 👻 error 🚨
no-useless-computed-key error 🚨 error 🚨 N/A 👻 error 🚨
no-useless-concat error 🚨 error 🚨 N/A 👻 N/A 👻
no-useless-constructor error 🚨 error 🚨 N/A 👻 error 🚨
no-useless-escape error 🚨 error 🚨 N/A 👻 error 🚨
no-useless-rename error 🚨 error 🚨 N/A 👻 error 🚨
no-useless-return error 🚨 error 🚨 N/A 👻 error 🚨
no-var error 🚨 error 🚨 error 🚨 N/A 👻
no-void error 🚨 error 🚨 N/A 👻 N/A 👻
no-warning-comments warn ⚠️ off N/A 👻 N/A 👻
no-whitespace-before-property error 🚨 error 🚨 N/A 👻 error 🚨
no-with error 🚨 error 🚨 error 🚨 error 🚨
node/no-deprecated-api N/A 👻 N/A 👻 N/A 👻 error 🚨
node/process-exit-as-throw N/A 👻 N/A 👻 N/A 👻 error 🚨
nonblock-statement-body-position error 🚨 error 🚨 N/A 👻 N/A 👻
object-curly-newline N/A 👻 error 🚨 N/A 👻 N/A 👻
object-curly-spacing off error 🚨 error 🚨 error 🚨
object-property-newline error 🚨 error 🚨 N/A 👻 error 🚨
object-shorthand error 🚨 error 🚨 N/A 👻 N/A 👻
one-var error 🚨 error 🚨 error 🚨 error 🚨
one-var-declaration-per-line error 🚨 error 🚨 N/A 👻 N/A 👻
operator-assignment error 🚨 error 🚨 N/A 👻 N/A 👻
operator-linebreak error 🚨 error 🚨 N/A 👻 error 🚨
padded-blocks error 🚨 error 🚨 error 🚨 error 🚨
padding-line-between-statements off off N/A 👻 N/A 👻
prefer-arrow-callback error 🚨 error 🚨 N/A 👻 N/A 👻
prefer-const error 🚨 error 🚨 N/A 👻 N/A 👻
prefer-destructuring off error 🚨 N/A 👻 N/A 👻
prefer-numeric-literals error 🚨 error 🚨 N/A 👻 N/A 👻
prefer-object-spread N/A 👻 off N/A 👻 N/A 👻
prefer-promise-reject-errors error 🚨 error 🚨 N/A 👻 error 🚨
prefer-reflect off off N/A 👻 N/A 👻
prefer-rest-params error 🚨 error 🚨 error 🚨 N/A 👻
prefer-spread error 🚨 error 🚨 error 🚨 N/A 👻
prefer-template off error 🚨 N/A 👻 N/A 👻
promise/always-return error 🚨 N/A 👻 N/A 👻 N/A 👻
promise/avoid-new off N/A 👻 N/A 👻 N/A 👻
promise/catch-or-return error 🚨 N/A 👻 N/A 👻 N/A 👻
promise/no-callback-in-promise off N/A 👻 N/A 👻 N/A 👻
promise/no-native off N/A 👻 N/A 👻 N/A 👻
promise/no-nesting off N/A 👻 N/A 👻 N/A 👻
promise/no-new-statics error 🚨 N/A 👻 N/A 👻 N/A 👻
promise/no-promise-in-callback off N/A 👻 N/A 👻 N/A 👻
promise/no-return-in-finally error 🚨 N/A 👻 N/A 👻 N/A 👻
promise/no-return-wrap error 🚨 N/A 👻 N/A 👻 N/A 👻
promise/param-names error 🚨 N/A 👻 N/A 👻 error 🚨
promise/prefer-await-to-callbacks warn ⚠️ N/A 👻 N/A 👻 N/A 👻
promise/prefer-await-to-then warn ⚠️ N/A 👻 N/A 👻 N/A 👻
promise/valid-params error 🚨 N/A 👻 N/A 👻 N/A 👻
quote-props error 🚨 error 🚨 error 🚨 N/A 👻
quotes error 🚨 error 🚨 error 🚨 error 🚨
radix error 🚨 error 🚨 N/A 👻 N/A 👻
react/boolean-prop-naming off off N/A 👻 N/A 👻
react/button-has-type error 🚨 error 🚨 N/A 👻 N/A 👻
react/default-props-match-prop-types error 🚨 error 🚨 N/A 👻 N/A 👻
react/destructuring-assignment off error 🚨 N/A 👻 N/A 👻
react/display-name off off N/A 👻 N/A 👻
react/forbid-component-props error 🚨 off N/A 👻 N/A 👻
react/forbid-dom-props off off N/A 👻 N/A 👻
react/forbid-elements off off N/A 👻 N/A 👻
react/forbid-foreign-prop-types off warn ⚠️ N/A 👻 N/A 👻
react/forbid-prop-types off error 🚨 N/A 👻 N/A 👻
react/jsx-boolean-value error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-child-element-spacing off off N/A 👻 N/A 👻
react/jsx-closing-bracket-location off error 🚨 N/A 👻 N/A 👻
react/jsx-closing-tag-location off error 🚨 N/A 👻 N/A 👻
react/jsx-curly-brace-presence off error 🚨 N/A 👻 N/A 👻
react/jsx-curly-spacing error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-equals-spacing error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-filename-extension N/A 👻 error 🚨 N/A 👻 N/A 👻
react/jsx-first-prop-new-line error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-handler-names error 🚨 off N/A 👻 N/A 👻
react/jsx-indent error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-indent-props error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-key error 🚨 off N/A 👻 N/A 👻
react/jsx-max-depth N/A 👻 off N/A 👻 N/A 👻
react/jsx-max-props-per-line error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-no-bind error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-no-comment-textnodes error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-no-duplicate-props error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-no-literals off off N/A 👻 N/A 👻
react/jsx-no-target-blank error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-no-undef error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-one-expression-per-line error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-pascal-case error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-props-no-multi-spaces error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-sort-default-props error 🚨 off N/A 👻 N/A 👻
react/jsx-sort-prop-types N/A 👻 off N/A 👻 N/A 👻
react/jsx-sort-props error 🚨 off N/A 👻 N/A 👻
react/jsx-space-before-closing N/A 👻 off N/A 👻 N/A 👻
react/jsx-tag-spacing error 🚨 error 🚨 N/A 👻 N/A 👻
react/jsx-uses-react warn ⚠️ error 🚨 N/A 👻 N/A 👻
react/jsx-uses-vars warn ⚠️ error 🚨 N/A 👻 N/A 👻
react/jsx-wrap-multilines off error 🚨 N/A 👻 N/A 👻
react/no-access-state-in-setstate error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-array-index-key error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-children-prop error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-danger error 🚨 warn ⚠️ N/A 👻 N/A 👻
react/no-danger-with-children error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-deprecated error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-did-mount-set-state error 🚨 off N/A 👻 N/A 👻
react/no-did-update-set-state error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-direct-mutation-state error 🚨 off N/A 👻 N/A 👻
react/no-find-dom-node error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-is-mounted error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-multi-comp error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-redundant-should-component-update error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-render-return-value N/A 👻 error 🚨 N/A 👻 N/A 👻
react/no-set-state error 🚨 off N/A 👻 N/A 👻
react/no-string-refs error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-this-in-sfc error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-typos error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-unescaped-entities error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-unknown-property error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-unsafe error 🚨 off N/A 👻 N/A 👻
react/no-unused-prop-types error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-unused-state error 🚨 error 🚨 N/A 👻 N/A 👻
react/no-will-update-set-state error 🚨 error 🚨 N/A 👻 N/A 👻
react/prefer-es6-class error 🚨 error 🚨 N/A 👻 N/A 👻
react/prefer-stateless-function error 🚨 error 🚨 N/A 👻 N/A 👻
react/prop-types error 🚨 error 🚨 N/A 👻 N/A 👻
react/react-in-jsx-scope error 🚨 error 🚨 N/A 👻 N/A 👻
react/require-default-props error 🚨 error 🚨 N/A 👻 N/A 👻
react/require-optimization N/A 👻 off N/A 👻 N/A 👻
react/require-render-return error 🚨 error 🚨 N/A 👻 N/A 👻
react/self-closing-comp error 🚨 error 🚨 N/A 👻 N/A 👻
react/sort-comp error 🚨 error 🚨 N/A 👻 N/A 👻
react/sort-prop-types error 🚨 off N/A 👻 N/A 👻
react/style-prop-object error 🚨 error 🚨 N/A 👻 N/A 👻
react/void-dom-elements-no-children error 🚨 error 🚨 N/A 👻 N/A 👻
require-atomic-updates N/A 👻 off N/A 👻 N/A 👻
require-await warn ⚠️ off N/A 👻 N/A 👻
require-jsdoc off off error 🚨 N/A 👻
require-unicode-regexp N/A 👻 off N/A 👻 N/A 👻
require-yield error 🚨 error 🚨 N/A 👻 N/A 👻
rest-spread-spacing N/A 👻 error 🚨 error 🚨 error 🚨
semi error 🚨 error 🚨 error 🚨 error 🚨
semi-spacing error 🚨 error 🚨 error 🚨 error 🚨
semi-style error 🚨 error 🚨 N/A 👻 N/A 👻
sort-imports N/A 👻 off N/A 👻 N/A 👻
sort-keys error 🚨 off N/A 👻 N/A 👻
sort-vars error 🚨 off N/A 👻 N/A 👻
space-before-blocks error 🚨 error 🚨 error 🚨 error 🚨
space-before-function-paren error 🚨 error 🚨 error 🚨 error 🚨
space-in-parens error 🚨 error 🚨 N/A 👻 error 🚨
space-infix-ops error 🚨 error 🚨 N/A 👻 error 🚨
space-unary-ops error 🚨 error 🚨 N/A 👻 error 🚨
spaced-comment error 🚨 error 🚨 error 🚨 error 🚨
standard/array-bracket-even-spacing N/A 👻 N/A 👻 N/A 👻 error 🚨
standard/computed-property-even-spacing N/A 👻 N/A 👻 N/A 👻 error 🚨
standard/no-callback-literal N/A 👻 N/A 👻 N/A 👻 error 🚨
standard/object-curly-even-spacing N/A 👻 N/A 👻 N/A 👻 error 🚨
strict error 🚨 error 🚨 N/A 👻 N/A 👻
switch-colon-spacing error 🚨 error 🚨 error 🚨 N/A 👻
symbol-description error 🚨 error 🚨 N/A 👻 error 🚨
template-curly-spacing N/A 👻 error 🚨 N/A 👻 error 🚨
template-tag-spacing error 🚨 error 🚨 N/A 👻 error 🚨
unicode-bom error 🚨 error 🚨 N/A 👻 error 🚨
unicorn/catch-error-name error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/custom-error-definition off N/A 👻 N/A 👻 N/A 👻
unicorn/error-message error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/explicit-length-check off N/A 👻 N/A 👻 N/A 👻
unicorn/filename-case off N/A 👻 N/A 👻 N/A 👻
unicorn/import-index error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/new-for-builtins error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/no-abusive-eslint-disable error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/no-array-instanceof error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/no-fn-reference-in-iterator off N/A 👻 N/A 👻 N/A 👻
unicorn/no-hex-escape error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/no-new-buffer error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/no-process-exit off N/A 👻 N/A 👻 N/A 👻
unicorn/number-literal-case error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/prefer-add-event-listener off N/A 👻 N/A 👻 N/A 👻
unicorn/prefer-exponentiation-operator error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/prefer-spread off N/A 👻 N/A 👻 N/A 👻
unicorn/prefer-starts-ends-with error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/prefer-type-error error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/regex-shorthand error 🚨 N/A 👻 N/A 👻 N/A 👻
unicorn/throw-new-error error 🚨 N/A 👻 N/A 👻 N/A 👻
use-isnan error 🚨 error 🚨 N/A 👻 error 🚨
valid-jsdoc off off error 🚨 N/A 👻
valid-typeof N/A 👻 error 🚨 N/A 👻 error 🚨
vars-on-top error 🚨 error 🚨 N/A 👻 N/A 👻
wrap-iife error 🚨 error 🚨 N/A 👻 error 🚨
wrap-regex off off N/A 👻 N/A 👻
yield-star-spacing N/A 👻 error 🚨 error 🚨 error 🚨
yoda off error 🚨 N/A 👻 error 🚨