diff --git a/.eslintrc.js b/.eslintrc.js index 525e424..369b6f1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,6 @@ module.exports = { parser: 'babel-eslint', - extends: ['airbnb', 'prettier'], + extends: ['airbnb', 'prettier', 'plugin:compat/recommended'], env: { browser: true, node: true, @@ -9,65 +9,31 @@ module.exports = { jest: true, jasmine: true, }, - rules: { - 'linebreak-style': ['off'], - 'generator-star-spacing': [0], - 'consistent-return': [0], - 'react/forbid-prop-types': [0], - 'react/jsx-filename-extension': [1, { extensions: ['.js'] }], - 'global-require': [1], - 'import/prefer-default-export': [0], - 'react/jsx-no-bind': [0], - 'react/prop-types': [0], - 'react/prefer-stateless-function': [0], - 'react/jsx-one-expression-per-line': [0], - 'react/jsx-wrap-multilines': [ - 'error', - { - declaration: 'parens-new-line', - assignment: 'parens-new-line', - return: 'parens-new-line', - arrow: 'parens-new-line', - condition: 'parens-new-line', - logical: 'parens-new-line', - prop: 'ignore', - }, - ], - 'no-else-return': [0], - 'no-restricted-syntax': [0], - 'import/no-extraneous-dependencies': [0], - 'no-use-before-define': [0], - 'jsx-a11y/no-static-element-interactions': [0], - 'jsx-a11y/no-noninteractive-element-interactions': [0], - 'jsx-a11y/click-events-have-key-events': [0], - 'jsx-a11y/anchor-is-valid': [0], - 'no-nested-ternary': [0], - 'arrow-body-style': [0], - 'import/extensions': [0], - 'no-bitwise': [0], - 'no-cond-assign': [0], - 'import/no-unresolved': [0], - 'comma-dangle': [ - 'error', - { - arrays: 'always-multiline', - objects: 'always-multiline', - imports: 'always-multiline', - exports: 'always-multiline', - functions: 'ignore', - }, - ], - 'object-curly-newline': [0], - 'function-paren-newline': [0], - 'no-restricted-globals': [0], - 'require-yield': [1], + globals: { + APP_TYPE: true, + page: true, }, - parserOptions: { - ecmaFeatures: { - experimentalObjectRestSpread: true, - }, + rules: { + 'react/jsx-filename-extension': [1, { extensions: ['.js'] }], + 'react/jsx-wrap-multilines': 0, + 'react/prop-types': 0, + 'react/forbid-prop-types': 0, + 'react/jsx-one-expression-per-line': 0, + 'import/no-unresolved': [2, { ignore: ['^@/', '^umi/'] }], + 'import/no-extraneous-dependencies': [ + 2, + { + optionalDependencies: true, + devDependencies: ['**/tests/**.js', '/mock/**.js', '**/**.test.js'], + }, + ], + 'jsx-a11y/no-noninteractive-element-interactions': 0, + 'jsx-a11y/click-events-have-key-events': 0, + 'jsx-a11y/no-static-element-interactions': 0, + 'jsx-a11y/anchor-is-valid': 0, + 'linebreak-style': ['off'], }, settings: { - polyfills: ['fetch', 'promises'], + polyfills: ['fetch', 'promises', 'url'], }, }; diff --git a/src/e2e/baseLayout.e2e.js b/src/e2e/baseLayout.e2e.js index 9357466..7493871 100644 --- a/src/e2e/baseLayout.e2e.js +++ b/src/e2e/baseLayout.e2e.js @@ -29,6 +29,6 @@ describe('Homepage', async () => { }); const routers = formatter(RouterConfig[1].routes); routers.forEach(route => { - fit(`test pages ${route}`, testPage(route)); + it(`test pages ${route}`, testPage(route)); }); }); diff --git a/src/e2e/userLayout.e2e.js b/src/e2e/userLayout.e2e.js index a3f23a6..a2edfc7 100644 --- a/src/e2e/userLayout.e2e.js +++ b/src/e2e/userLayout.e2e.js @@ -27,6 +27,6 @@ describe('Homepage', () => { jest.setTimeout(1000000); }); formatter(RouterConfig[0].routes).forEach(route => { - fit(`test pages ${route}`, testPage(route)); + it(`test pages ${route}`, testPage(route)); }); });