diff --git a/.eslintrc.js b/.eslintrc.js index dd6db54c09..9b5ac0ed58 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -42,6 +42,7 @@ module.exports = { rules: { 'generator-star-spacing': 0, 'no-console': 0, + 'require-atomic-updates': 0, 'react-hooks/rules-of-hooks': 'error', 'react-hooks/exhaustive-deps': 'warn', }, diff --git a/package.json b/package.json index 96cecbeae5..69a7886974 100644 --- a/package.json +++ b/package.json @@ -3,25 +3,25 @@ "dependencies": {}, "devDependencies": { "@testing-library/jest-dom": "^4.0.0", - "@testing-library/react": "^9.1.1", - "@testing-library/react-hooks": "^2.0.1", - "babel-eslint": "^10.0.1", + "@testing-library/react": "^9.1.0", + "@testing-library/react-hooks": "^2.0.0", + "babel-eslint": "^10.0.0", "cross-env": "^5.2.0", "cypress": "3.1.2", "enzyme": "^3.9.0", "enzyme-adapter-react-16": "^1.12.1", - "eslint": "^5.16.0", - "eslint-config-prettier": "^6.0.0", + "eslint": "^6.3.0", + "eslint-config-prettier": "^6.2.0", "eslint-plugin-react": "^7.14.0", - "eslint-plugin-react-hooks": "^1.6.1", - "eslint-plugin-redux-saga": "^1.0.0", + "eslint-plugin-react-hooks": "^2.0.0", + "eslint-plugin-redux-saga": "^1.1.0", "execa": "^1.0.0", "husky": "^3.0.0", "istanbul": "~0.4.2", "jest": "^24.5.0", "jest-cli": "^24.5.0", "lerna": "^3.13.1", - "lint-staged": "^9.1.0", + "lint-staged": "^9.2.0", "npm-run-all": "^4.1.5", "prettier": "^1.18.2", "react-test-renderer": "^16.9.0", diff --git a/packages/strapi-admin/admin/src/app.js b/packages/strapi-admin/admin/src/app.js index 3a68df36eb..6119b3908f 100644 --- a/packages/strapi-admin/admin/src/app.js +++ b/packages/strapi-admin/admin/src/app.js @@ -177,7 +177,7 @@ if (NODE_ENV !== 'test') { import('intl/locale-data/jsonp/en.js'), import('intl/locale-data/jsonp/de.js'), ]) - ) // eslint-disable-line prettier/prettier + ) .then(() => render(translationMessages)) .catch(err => { throw err; diff --git a/packages/strapi-admin/admin/src/containers/HomePage/SocialLink.js b/packages/strapi-admin/admin/src/containers/HomePage/SocialLink.js index 739cfee082..a0bf993694 100644 --- a/packages/strapi-admin/admin/src/containers/HomePage/SocialLink.js +++ b/packages/strapi-admin/admin/src/containers/HomePage/SocialLink.js @@ -15,7 +15,6 @@ import Reddit from '../../assets/images/social_reddit.png'; import { SocialLinkWrapper } from './components'; -/* eslint-disable jsx-a11y/alt-text */ function getSrc(name) { switch (name) { case 'GitHub': diff --git a/packages/strapi-admin/admin/src/containers/Onboarding/index.js b/packages/strapi-admin/admin/src/containers/Onboarding/index.js index 7e433f0623..86365ae09f 100644 --- a/packages/strapi-admin/admin/src/containers/Onboarding/index.js +++ b/packages/strapi-admin/admin/src/containers/Onboarding/index.js @@ -92,7 +92,6 @@ export class Onboarding extends React.Component { this.props.setVideoEnd(index, true); }; - // eslint-disable-line jsx-handler-names render() { const { videos, onClick, setVideoDuration } = this.props; const { showVideos } = this.state; diff --git a/packages/strapi-generate-new/lib/resources/json/package.json.js b/packages/strapi-generate-new/lib/resources/json/package.json.js index 09a8149a81..ef309d3d61 100644 --- a/packages/strapi-generate-new/lib/resources/json/package.json.js +++ b/packages/strapi-generate-new/lib/resources/json/package.json.js @@ -29,8 +29,8 @@ module.exports = opts => { }, devDependencies: { 'babel-eslint': '^10.0.0', - eslint: '^6.0.0', - 'eslint-config-airbnb': '^17.1.0', + eslint: '^6.3.0', + 'eslint-config-airbnb': '^18.0.0', 'eslint-plugin-import': '^2.18.0', 'eslint-plugin-react': '^7.14.0', }, diff --git a/packages/strapi-helper-plugin/lib/src/app.js b/packages/strapi-helper-plugin/lib/src/app.js index d0168e98e6..17520c1c47 100644 --- a/packages/strapi-helper-plugin/lib/src/app.js +++ b/packages/strapi-helper-plugin/lib/src/app.js @@ -30,7 +30,7 @@ import App from 'containers/App'; const layout = (() => { try { - return require('../../../../config/layout.js'); // eslint-disable-line import/no-unresolved + return require('../../../../config/layout.js'); } catch (err) { return null; } @@ -38,7 +38,7 @@ const layout = (() => { const injectedComponents = (() => { try { - return require('injectedComponents').default; // eslint-disable-line import/no-unresolved + return require('injectedComponents').default; } catch (err) { return []; } @@ -80,7 +80,7 @@ if (module.hot) { // Require the Initializer component const initializer = (() => { try { - return require('../../../../admin/src/initializer.js'); // eslint-disable-line import/no-unresolved + return require('../../../../admin/src/initializer.js'); } catch (err) { return null; } @@ -89,7 +89,7 @@ const initializer = (() => { // Require the plugin's lifecycle const lifecycles = (() => { try { - return require('../../../../admin/src/lifecycles.js'); // eslint-disable-line import/no-unresolved + return require('../../../../admin/src/lifecycles.js'); } catch (err) { return null; } diff --git a/packages/strapi-helper-plugin/lib/src/components/GlobalPagination/index.js b/packages/strapi-helper-plugin/lib/src/components/GlobalPagination/index.js index b8b9bbc339..8eea7f6570 100644 --- a/packages/strapi-helper-plugin/lib/src/components/GlobalPagination/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/GlobalPagination/index.js @@ -10,7 +10,6 @@ import PropTypes from 'prop-types'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/anchor-is-valid */ class GlobalPagination extends React.Component { getLastPageNumber = () => Math.ceil(this.props.count / this.props.params._limit) || 1; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputAddon/index.js b/packages/strapi-helper-plugin/lib/src/components/InputAddon/index.js index bbbb37db00..2d84ad60c5 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputAddon/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputAddon/index.js @@ -11,7 +11,6 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ class InputAddon extends React.Component { state = { isFocused: false }; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputCheckbox/index.js b/packages/strapi-helper-plugin/lib/src/components/InputCheckbox/index.js index 628cda92b1..569d8dacd9 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputCheckbox/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputCheckbox/index.js @@ -12,8 +12,6 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ -/* eslint-disable jsx-a11y/label-has-for */ class InputCheckbox extends React.Component { handleChange = () => { const target = { diff --git a/packages/strapi-helper-plugin/lib/src/components/InputEmail/index.js b/packages/strapi-helper-plugin/lib/src/components/InputEmail/index.js index d8b57cad2f..c62a16bd02 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputEmail/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputEmail/index.js @@ -11,7 +11,6 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ class InputEmail extends React.Component { state = { isFocused: false }; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputFile/index.js b/packages/strapi-helper-plugin/lib/src/components/InputFile/index.js index 035bfe1e7f..630b1e048e 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputFile/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputFile/index.js @@ -17,7 +17,6 @@ import InputFileDetails from '../InputFileDetails'; import styles from './styles.scss'; /* eslint-disable react/jsx-handler-names */ -/* eslint-disable jsx-a11y/label-has-for */ class InputFile extends React.Component { state = { didDeleteFile: false, @@ -60,7 +59,7 @@ class InputFile extends React.Component { type: 'file', value, }; - + this.inputFile.value = ''; this.setState({ isUploading: !this.state.isUploading }); this.props.onChange({ target }); @@ -105,7 +104,7 @@ class InputFile extends React.Component { const {value} = this.props; if (!value || - (isArray(value) && value.length === 0) || + (isArray(value) && value.length === 0) || (isObject(value) && Object.keys(value).length === 0) ) { return false; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputNumber/index.js b/packages/strapi-helper-plugin/lib/src/components/InputNumber/index.js index 5aafe09b9b..3f3f6e1191 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputNumber/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputNumber/index.js @@ -6,10 +6,9 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ function InputNumber(props) { const formattedPlaceholder = props.placeholder === '' ? 'app.utils.placeholder.defaultMessage' : props.placeholder; - + return ( {(message) => ( diff --git a/packages/strapi-helper-plugin/lib/src/components/InputPassword/index.js b/packages/strapi-helper-plugin/lib/src/components/InputPassword/index.js index 773f227ac7..7bc188c3ce 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputPassword/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputPassword/index.js @@ -12,7 +12,6 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ class InputPassword extends React.Component { state = { showPassword: false }; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputSearch/index.js b/packages/strapi-helper-plugin/lib/src/components/InputSearch/index.js index 4b17daa8ef..eb72719abd 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputSearch/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputSearch/index.js @@ -12,7 +12,6 @@ import cn from 'classnames'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ class InputSearch extends React.Component { state = { isFocused: false }; diff --git a/packages/strapi-helper-plugin/lib/src/components/InputSelect/index.js b/packages/strapi-helper-plugin/lib/src/components/InputSelect/index.js index 5cf1959fcb..c09012b757 100644 --- a/packages/strapi-helper-plugin/lib/src/components/InputSelect/index.js +++ b/packages/strapi-helper-plugin/lib/src/components/InputSelect/index.js @@ -15,7 +15,6 @@ import SelectOption from '../SelectOption'; import styles from './styles.scss'; -/* eslint-disable jsx-a11y/no-autofocus */ function InputSelect(props) { return (