module.exports = { extends: [ 'airbnb', 'plugin:react/recommended', 'plugin:flowtype/recommended', 'prettier', ], parser: 'babel-eslint', parserOptions: { allowImportExportEverywhere: true, ecmaVersion: 6, sourceType: 'module', ecmaFeatures: { legacyDecorators: true }, }, rules: { strict: 0, 'flowtype/generic-spacing': 'off', 'flowtype/space-after-type-colon': 'off', 'flowtype/no-flow-fix-me-comments': ['error', '--> Reason:+'], 'import/no-extraneous-dependencies': 0, 'import/extensions': 0, 'arrow-parens': [2, 'as-needed'], 'generator-star-spacing': 0, 'babel/new-cap': [ 1, { capIsNewExceptions: [ 'Optional', 'OneOf', 'Maybe', 'MailChimpAPI', 'Juice', 'Run', 'AppComposer', 'Query', ], }, ], // Disabled because schema fields may/will contain snake_cased properties. // Maybe a better configuration could be provided? camelcase: ['off'], 'array-bracket-spacing': 0, 'babel/object-curly-spacing': 0, 'object-shorthand': 0, 'no-await-in-loop': 1, indent: 'off', 'comma-dangle': 0, 'key-spacing': 0, 'no-extra-boolean-cast': 0, 'no-undef': 1, 'no-unused-vars': [ 1, { args: 'all', argsIgnorePattern: '^unused($|[A-Z].*$)', ignoreRestSiblings: true, vars: 'all', varsIgnorePattern: 'React|^unused($|[A-Z].*$)', caughtErrorsIgnorePattern: '^unused($|[A-Z].*$)', }, ], 'no-console': 1, 'react/jsx-no-duplicate-props': [2, { ignoreCase: true }], 'react/jsx-wrap-multilines': 0, 'react/jsx-filename-extension': 1, 'react/jsx-indent': 0, 'react/prop-types': 0, 'no-case-declarations': 0, 'no-underscore-dangle': 0, quotes: 'off', 'operator-linebreak': 'off', 'no-mixed-operators': 'off', 'function-paren-newline': 'off', 'import/prefer-default-export': 1, }, env: { browser: true, commonjs: true, es6: true, node: true, 'jest/globals': true, }, plugins: ['prettier', 'babel', 'flowtype', 'react', 'jest'], root: true, globals: { param: true, returns: true, }, };