UNPKG

@activelylearn/material-ui

Version:

Material-UI's workspace package

112 lines (103 loc) 3.95 kB
const path = require('path'); module.exports = { // So parent files don't get applied root: true, globals: { preval: false, }, env: { es6: true, browser: true, node: true, mocha: true, }, extends: ['plugin:import/recommended', 'airbnb'], parser: 'babel-eslint', parserOptions: { ecmaVersion: 7, sourceType: 'module', }, plugins: ['babel', 'import', 'jsx-a11y', 'mocha', 'flowtype', 'material-ui', 'prettier'], settings: { 'import/resolver': { webpack: { config: path.join(__dirname, './docs/webpackBaseConfig.js'), }, }, }, rules: { 'linebreak-style': 'off', // Don't play nicely with Windows. 'arrow-body-style': 'off', // Not our taste? 'arrow-parens': 'off', // Incompatible with prettier 'object-curly-newline': 'off', // Incompatible with prettier 'function-paren-newline': 'off', // Incompatible with prettier indent: 'off', // Incompatible with prettier 'space-before-function-paren': 'off', // Incompatible with prettier 'no-confusing-arrow': 'off', // Incompatible with prettier 'no-mixed-operators': 'off', // Incompatible with prettier 'consistent-this': ['error', 'self'], 'max-len': [ 'error', 100, 2, { ignoreUrls: true, }, ], // airbnb is allowing some edge cases 'no-console': 'error', // airbnb is using warn 'no-alert': 'error', // airbnb is using warn 'no-param-reassign': 'off', // Not our taste? 'no-prototype-builtins': 'off', // airbnb use error 'object-curly-spacing': 'off', // use babel plugin rule 'no-restricted-properties': 'off', // To remove once react-docgen support ** operator. 'prefer-destructuring': 'off', // To remove once react-docgen support ** operator. 'babel/object-curly-spacing': ['error', 'always'], 'import/unambiguous': 'off', // scripts 'import/namespace': ['error', { allowComputed: true }], 'import/no-extraneous-dependencies': 'off', 'import/order': [ 'error', { groups: [['index', 'sibling', 'parent', 'internal', 'external', 'builtin']], 'newlines-between': 'never', }, ], 'react/jsx-indent': 'off', // Incompatible with prettier 'react/jsx-closing-bracket-location': 'off', // Incompatible with prettier 'react/jsx-wrap-multilines': 'off', // Incompatible with prettier 'react/jsx-indent-props': 'off', // Incompatible with prettier 'react/jsx-handler-names': [ 'error', { // airbnb is disabling this rule eventHandlerPrefix: 'handle', eventHandlerPropPrefix: 'on', }, ], 'react/require-default-props': 'off', // airbnb use error 'react/forbid-prop-types': 'off', // airbnb use error 'react/jsx-filename-extension': ['error', { extensions: ['.js'] }], // airbnb is using .jsx 'react/no-danger': 'error', // airbnb is using warn 'react/no-direct-mutation-state': 'error', // airbnb is disabling this rule 'react/no-find-dom-node': 'off', // I don't know 'react/no-unused-prop-types': 'off', // Is still buggy 'react/sort-prop-types': 'error', // airbnb do nothing here. 'react/default-props-match-prop-types': 'off', // Buggy 'react/jsx-curly-brace-presence': 'off', // Buggy 'material-ui/docgen-ignore-before-comment': 'error', 'mocha/handle-done-callback': 'error', 'mocha/no-exclusive-tests': 'error', 'mocha/no-global-tests': 'error', 'mocha/no-pending-tests': 'error', 'mocha/no-skipped-tests': 'error', 'flowtype/define-flow-type': 'error', 'flowtype/require-valid-file-annotation': 'off', 'flowtype/require-parameter-type': 'off', 'flowtype/require-return-type': 'off', 'flowtype/space-after-type-colon': 'off', 'flowtype/space-before-type-colon': 'off', 'flowtype/type-id-match': 'off', 'flowtype/use-flow-type': 'error', 'prettier/prettier': ['error'], }, };