Increase files checked by ESLint (#9705)
parent
c39c112ced
commit
d5bdfaf0bb
@ -1,30 +1,13 @@ |
||||
# See https://help.github.com/articles/ignoring-files for more about ignoring files. |
||||
# |
||||
# If you find yourself ignoring temporary files generated by your text editor |
||||
# or operating system, you probably want to add a global ignore instead: |
||||
# git config --global core.excludesfile '~/.gitignore_global' |
||||
|
||||
# Ignore bundler config. |
||||
/.bundle |
||||
|
||||
# Ignore the default SQLite database. |
||||
/db/*.sqlite3 |
||||
/db/*.sqlite3-journal |
||||
|
||||
# Ignore all logfiles and tempfiles. |
||||
/log/* |
||||
!/log/.keep |
||||
/tmp |
||||
coverage |
||||
public/system |
||||
public/assets |
||||
.env |
||||
.env.production |
||||
node_modules/ |
||||
neo4j/ |
||||
|
||||
# Ignore Vagrant files |
||||
.vagrant/ |
||||
|
||||
# Ignore Capistrano customizations |
||||
config/deploy/* |
||||
/build/** |
||||
/coverage/** |
||||
/db/** |
||||
/lib/** |
||||
/log/** |
||||
/node_modules/** |
||||
/nonobox/** |
||||
/public/** |
||||
!/public/embed.js |
||||
/spec/** |
||||
/tmp/** |
||||
/vendor/** |
||||
!.eslintrc.js |
||||
|
@ -0,0 +1,199 @@ |
||||
module.exports = { |
||||
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', |
||||
}, |
||||
}; |
@ -1,172 +0,0 @@ |
||||
--- |
||||
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 |
@ -1,13 +1,7 @@ |
||||
module.exports = { |
||||
module.exports = ({ env }) => ({ |
||||
plugins: { |
||||
autoprefixer: { |
||||
browsers: [ |
||||
'last 2 versions', |
||||
'IE >= 11', |
||||
'iOS >= 9', |
||||
], |
||||
}, |
||||
autoprefixer: {}, |
||||
'postcss-object-fit-images': {}, |
||||
cssnano: {}, |
||||
cssnano: env === 'production' ? {} : false, |
||||
}, |
||||
}; |
||||
}); |
||||
|
Loading…
Reference in new issue