diff --git a/.eslintrc.js b/.eslintrc.js index d1bebf07b..eceefc160 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -27,6 +27,8 @@ module.exports = { 'class-methods-use-this': 'off', 'consistent-return': 'off', 'default-case': 'off', + 'default-param-last': 'off', + 'import/extensions': 'off', 'jsx-a11y/click-events-have-key-events': 'off', 'no-alert': 'off', 'no-continue': 'off', @@ -37,11 +39,20 @@ module.exports = { 'no-underscore-dangle': 'off', 'prefer-promise-reject-errors': 'off', 'react/destructuring-assignment': 'off', + 'react/function-component-definition': 'off', 'react/jsx-fragments': 'off', + 'react/jsx-no-constructed-context-values': 'off', + 'react/jsx-no-script-url': 'off', + 'react/jsx-no-useless-fragment': 'off', 'react/jsx-props-no-spreading': 'off', - 'react/sort-comp': [0, {}], + 'react/no-arrow-function-lifecycle': 'off', + 'react/no-invalid-html-attribute': 'off', + 'react/no-namespace': 'off', + 'react/no-unstable-nested-components': 'off', + 'react/no-unused-class-component-methods': 'off', + 'react/prefer-exact-props': 'off', 'react/prop-types': 'off', - 'import/extensions': 'off', + 'react/sort-comp': [0, {}], // Override AirBnB's config for this rule to make it more strict. // https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/order.md 'import/order': [ diff --git a/package.json b/package.json index fc145345f..d4f28bd64 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.0", "eslint": "8.21.0", - "eslint-config-airbnb": "18.0.1", + "eslint-config-airbnb": "19.0.4", "eslint-config-prettier": "8.5.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-jest": "23.1.1", diff --git a/ui/helpers/taskcluster.js b/ui/helpers/taskcluster.js index ab9f70f0b..e6e6c7b8c 100644 --- a/ui/helpers/taskcluster.js +++ b/ui/helpers/taskcluster.js @@ -80,6 +80,7 @@ const taskcluster = (() => { userCredentials[_rootUrl] && moment(userCredentials[_rootUrl].expires).isAfter(moment()) ) { + // eslint-disable-next-line no-promise-executor-return return resolve(userCredentials[_rootUrl]); } diff --git a/ui/intermittent-failures/helpers.js b/ui/intermittent-failures/helpers.js index 5fde733a7..e15d65ce6 100644 --- a/ui/intermittent-failures/helpers.js +++ b/ui/intermittent-failures/helpers.js @@ -131,7 +131,7 @@ export const tableRowStyling = function tableRowStyling(state, bug) { return { style }; } - const disabledStrings = new RegExp('(disabled|annotated|marked)', 'i'); + const disabledStrings = /(disabled|annotated|marked)/i; if (disabledStrings.test(bug.row.whiteboard)) { return { style }; } diff --git a/ui/shared/tabs/failureSummary/SuggestionsListItem.jsx b/ui/shared/tabs/failureSummary/SuggestionsListItem.jsx index 3779a8609..75d0dff86 100644 --- a/ui/shared/tabs/failureSummary/SuggestionsListItem.jsx +++ b/ui/shared/tabs/failureSummary/SuggestionsListItem.jsx @@ -130,9 +130,7 @@ export default class SuggestionsListItem extends React.Component { , ); } - const filterTestPath = suggestion.search.match( - RegExp('([a-z_\\-s0-9.]+[/])+', 'gi'), - ); + const filterTestPath = suggestion.search.match(/([a-z_\\-s0-9.]+[/])+/gi); return (