committed by
Eugen Rochko
7 changed files with 218 additions and 214 deletions
@ -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