150 lines
3.0 KiB
YAML
150 lines
3.0 KiB
YAML
---
|
|
root: true
|
|
|
|
env:
|
|
browser: true
|
|
node: true
|
|
es6: true
|
|
jest: true
|
|
|
|
parser: babel-eslint
|
|
|
|
plugins:
|
|
- react
|
|
- jsx-a11y
|
|
- import
|
|
|
|
parserOptions:
|
|
sourceType: module
|
|
ecmaFeatures:
|
|
arrowFunctions: true
|
|
jsx: true
|
|
destructuring: true
|
|
modules: true
|
|
spread: true
|
|
|
|
settings:
|
|
import/extensions:
|
|
- .js
|
|
import/ignore:
|
|
- node_modules
|
|
- \\.(css|scss|json)$
|
|
|
|
rules:
|
|
brace-style: warn
|
|
comma-dangle:
|
|
- error
|
|
- always-multiline
|
|
comma-spacing:
|
|
- warn
|
|
- before: false
|
|
after: true
|
|
comma-style:
|
|
- warn
|
|
- last
|
|
consistent-return: error
|
|
dot-notation: error
|
|
eqeqeq: error
|
|
indent:
|
|
- warn
|
|
- 2
|
|
jsx-quotes:
|
|
- error
|
|
- prefer-single
|
|
no-catch-shadow: error
|
|
no-cond-assign: error
|
|
no-console:
|
|
- warn
|
|
- allow:
|
|
- error
|
|
- warn
|
|
no-fallthrough: error
|
|
no-irregular-whitespace: error
|
|
no-mixed-spaces-and-tabs: warn
|
|
no-nested-ternary: warn
|
|
no-trailing-spaces: warn
|
|
no-undef: error
|
|
no-unreachable: error
|
|
no-unused-expressions: error
|
|
no-unused-vars:
|
|
- error
|
|
- vars: all
|
|
args: after-used
|
|
ignoreRestSiblings: true
|
|
object-curly-spacing:
|
|
- error
|
|
- always
|
|
padded-blocks:
|
|
- error
|
|
- classes: always
|
|
quotes:
|
|
- error
|
|
- single
|
|
semi: error
|
|
strict: off
|
|
valid-typeof: error
|
|
|
|
react/jsx-boolean-value: error
|
|
react/jsx-closing-bracket-location:
|
|
- error
|
|
- line-aligned
|
|
react/jsx-curly-spacing: error
|
|
react/jsx-equals-spacing: error
|
|
react/jsx-first-prop-new-line:
|
|
- error
|
|
- multiline-multiprop
|
|
react/jsx-indent:
|
|
- error
|
|
- 2
|
|
react/jsx-no-bind: error
|
|
react/jsx-no-duplicate-props: error
|
|
react/jsx-no-undef: error
|
|
react/jsx-tag-spacing: error
|
|
react/jsx-uses-react: error
|
|
react/jsx-uses-vars: error
|
|
react/jsx-wrap-multilines: error
|
|
react/no-multi-comp: off
|
|
react/no-string-refs: error
|
|
react/prop-types: error
|
|
react/self-closing-comp: error
|
|
|
|
jsx-a11y/accessible-emoji: warn
|
|
jsx-a11y/anchor-has-content: warn
|
|
jsx-a11y/aria-activedescendant-has-tabindex: warn
|
|
jsx-a11y/aria-props: warn
|
|
jsx-a11y/aria-proptypes: warn
|
|
jsx-a11y/aria-role: warn
|
|
jsx-a11y/aria-unsupported-elements: warn
|
|
jsx-a11y/heading-has-content: warn
|
|
jsx-a11y/href-no-hash: warn
|
|
jsx-a11y/html-has-lang: warn
|
|
jsx-a11y/iframe-has-title: warn
|
|
jsx-a11y/img-has-alt: warn
|
|
jsx-a11y/img-redundant-alt: warn
|
|
jsx-a11y/label-has-for: off
|
|
jsx-a11y/mouse-events-have-key-events: warn
|
|
jsx-a11y/no-access-key: warn
|
|
jsx-a11y/no-distracting-elements: warn
|
|
jsx-a11y/no-onchange: warn
|
|
jsx-a11y/no-redundant-roles: warn
|
|
jsx-a11y/onclick-has-focus: warn
|
|
jsx-a11y/onclick-has-role: warn
|
|
jsx-a11y/role-has-required-aria-props: warn
|
|
jsx-a11y/role-supports-aria-props: off
|
|
jsx-a11y/scope: warn
|
|
jsx-a11y/tabindex-no-positive: warn
|
|
|
|
import/extensions:
|
|
- error
|
|
- always
|
|
- js: never
|
|
import/newline-after-import: error
|
|
import/no-extraneous-dependencies:
|
|
- error
|
|
- devDependencies:
|
|
- "config/webpack/**"
|
|
- "app/javascript/mastodon/test_setup.js"
|
|
- "app/javascript/**/__tests__/**"
|
|
import/no-unresolved: error
|
|
import/no-webpack-loader-syntax: error
|