diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..0cba8a2 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,69 @@ +const INDENT = 4; + +module.exports = { + extends: 'airbnb', + env: { + webextensions: true, + browser: true + }, + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 2017, + ecmaFeatures: { + experimentalObjectRestSpread: true + } + }, + settings: { + 'import/resolver': { + webpack: { + config: './webpack/dev.js' + } + } + }, + rules: { + indent: ['error', INDENT, { + SwitchCase: 1 + }], + 'linebreak-style': 'off', + 'comma-dangle': ['error', 'never'], + 'brace-style': ['error', 'stroustrup', { + 'allowSingleLine': false + }], + 'object-curly-spacing': ['error', 'never'], + 'no-unused-expressions': ['error', { + allowShortCircuit: true, + allowTernary: true + }], + 'max-len': 'off', + 'no-param-reassign': 'off', + 'one-var': ['error', { + initialized: 'never' + }], + 'one-var-declaration-per-line': ['error', 'initializations'], + 'arrow-parens': 'off', + + 'react/jsx-filename-extension': ['error', {extensions: ['.js']}], + 'react/jsx-indent': ['error', INDENT], + 'react/jsx-indent-props': ['error', INDENT], + 'react/jsx-space-before-closing': ['error', 'never'], + 'react/forbid-prop-types': 'off', + 'react/no-unused-prop-types': ['error', { + skipShapeProps: true + }], + 'react/sort-comp': ['error', { + order: [ + 'static-methods', + 'lifecycle', + '/^render.+$/', + 'render', + '/^on.+$/', + '/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/', + 'everything-else' + ], + }], + + + 'import/prefer-default-export': 'off', + 'jsx-a11y/no-static-element-interactions': 'off' + } +}; diff --git a/scripts/.eslintrc.js b/scripts/.eslintrc.js new file mode 100644 index 0000000..61f5d14 --- /dev/null +++ b/scripts/.eslintrc.js @@ -0,0 +1,10 @@ +module.exports = { + rules: { + 'no-console': 'off', + 'import/no-extraneous-dependencies': ['error', { + devDependencies: true, + optionalDependencies: false, + peerDependencies: false + }] + } +}; diff --git a/src/pages/shared/utils/i18n.js b/src/pages/shared/utils/i18n.js index 463036f..46e61a7 100644 --- a/src/pages/shared/utils/i18n.js +++ b/src/pages/shared/utils/i18n.js @@ -14,7 +14,7 @@ function parseDate(value) { } function date(value) { - const date = parseDate(value); + const date = parseDate(value); // eslint-disable-line no-shadow const currentDate = new Date(); let yearPostfix = ''; diff --git a/webpack/.eslintrc.js b/webpack/.eslintrc.js new file mode 100644 index 0000000..61f5d14 --- /dev/null +++ b/webpack/.eslintrc.js @@ -0,0 +1,10 @@ +module.exports = { + rules: { + 'no-console': 'off', + 'import/no-extraneous-dependencies': ['error', { + devDependencies: true, + optionalDependencies: false, + peerDependencies: false + }] + } +};