You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
3.4 KiB
172 lines
3.4 KiB
--- |
|
root: true |
|
|
|
env: |
|
browser: true |
|
node: true |
|
es6: true |
|
jest: true |
|
|
|
globals: |
|
ATTACHMENT_HOST: false |
|
|
|
parser: babel-eslint |
|
|
|
plugins: |
|
- react |
|
- jsx-a11y |
|
- import |
|
- promise |
|
|
|
parserOptions: |
|
sourceType: module |
|
ecmaFeatures: |
|
experimentalObjectRestSpread: true |
|
jsx: true |
|
ecmaVersion: 2018 |
|
|
|
settings: |
|
react: |
|
version: detect |
|
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/alt-text: warn |
|
jsx-a11y/anchor-has-content: warn |
|
jsx-a11y/anchor-is-valid: |
|
- warn |
|
- components: |
|
- Link |
|
- NavLink |
|
specialLink: |
|
- to |
|
aspect: |
|
- noHref |
|
- invalidHref |
|
- preferButton |
|
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/html-has-lang: warn |
|
jsx-a11y/iframe-has-title: warn |
|
jsx-a11y/img-redundant-alt: warn |
|
jsx-a11y/interactive-supports-focus: 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-noninteractive-element-interactions: |
|
- warn |
|
- handlers: |
|
- onClick |
|
jsx-a11y/no-onchange: warn |
|
jsx-a11y/no-redundant-roles: warn |
|
jsx-a11y/no-static-element-interactions: |
|
- warn |
|
- handlers: |
|
- onClick |
|
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 |
|
|
|
promise/catch-or-return: error
|
|
|