diff --git a/packages/eslint-config-airbnb-base/package.json b/packages/eslint-config-airbnb-base/package.json index 1bdfc3b2..751ae67e 100644 --- a/packages/eslint-config-airbnb-base/package.json +++ b/packages/eslint-config-airbnb-base/package.json @@ -53,10 +53,10 @@ }, "homepage": "https://github.com/airbnb/javascript", "devDependencies": { - "babel-preset-airbnb": "^2.5.1", + "babel-preset-airbnb": "^2.5.3", "babel-tape-runner": "^2.0.1", "editorconfig-tools": "^0.1.1", - "eslint": "^4.19.1 || ^5.0.1", + "eslint": "^4.19.1 || ^5.3.0", "eslint-find-rules": "^3.3.1", "eslint-plugin-import": "^2.13.0", "in-publish": "^2.0.0", @@ -64,7 +64,7 @@ "tape": "^4.9.1" }, "peerDependencies": { - "eslint": "^4.19.1 || ^5.0.1", + "eslint": "^4.19.1 || ^5.3.0", "eslint-plugin-import": "^2.13.0" }, "engines": { diff --git a/packages/eslint-config-airbnb-base/rules/best-practices.js b/packages/eslint-config-airbnb-base/rules/best-practices.js index 421b5914..fbd65cf7 100644 --- a/packages/eslint-config-airbnb-base/rules/best-practices.js +++ b/packages/eslint-config-airbnb-base/rules/best-practices.js @@ -313,6 +313,10 @@ module.exports = { // https://eslint.org/docs/rules/require-await 'require-await': 'off', + // Enforce the use of u flag on RegExp + // https://eslint.org/docs/rules/require-unicode-regexp + 'require-unicode-regexp': 'off', + // requires to declare all vars on top of their containing scope 'vars-on-top': 'error', diff --git a/packages/eslint-config-airbnb-base/rules/errors.js b/packages/eslint-config-airbnb-base/rules/errors.js index 8cae2b52..aca6d7d9 100644 --- a/packages/eslint-config-airbnb-base/rules/errors.js +++ b/packages/eslint-config-airbnb-base/rules/errors.js @@ -8,6 +8,11 @@ module.exports = { // https://eslint.org/docs/rules/getter-return 'getter-return': ['error', { allowImplicit: true }], + // disallow using an async function as a Promise executor + // https://eslint.org/docs/rules/no-async-promise-executor + // TODO: enable, semver-major + 'no-async-promise-executor': 'off', + // Disallow await inside of loops // https://eslint.org/docs/rules/no-await-in-loop 'no-await-in-loop': 'error', @@ -78,6 +83,11 @@ module.exports = { // disallow irregular whitespace outside of strings and comments 'no-irregular-whitespace': 'error', + // Disallow characters which are made with multiple code points in character class syntax + // https://eslint.org/docs/rules/no-misleading-character-class + // TODO: enable, semver-major + 'no-misleading-character-class': 'off', + // disallow the use of object properties of the global object (Math and JSON) as functions 'no-obj-calls': 'error', @@ -113,6 +123,11 @@ module.exports = { // deprecated in favor of no-unsafe-negation 'no-negated-in-lhs': 'off', + // Disallow assignments that can lead to race conditions due to usage of await or yield + // https://eslint.org/docs/rules/require-atomic-updates + // TODO: enable, semver-major + 'require-atomic-updates': 'off', + // disallow comparisons with the value NaN 'use-isnan': 'error', diff --git a/packages/eslint-config-airbnb/package.json b/packages/eslint-config-airbnb/package.json index 63dbe709..acd7e04a 100644 --- a/packages/eslint-config-airbnb/package.json +++ b/packages/eslint-config-airbnb/package.json @@ -59,13 +59,13 @@ "object.entries": "^1.0.4" }, "devDependencies": { - "babel-preset-airbnb": "^2.5.1", + "babel-preset-airbnb": "^2.5.3", "babel-tape-runner": "^2.0.1", "editorconfig-tools": "^0.1.1", - "eslint": "^4.19.1 || ^5.0.1", + "eslint": "^4.19.1 || ^5.3.0", "eslint-find-rules": "^3.3.1", "eslint-plugin-import": "^2.13.0", - "eslint-plugin-jsx-a11y": "^6.1.0", + "eslint-plugin-jsx-a11y": "^6.1.1", "eslint-plugin-react": "^7.10.0", "in-publish": "^2.0.0", "react": ">= 0.13.0", @@ -73,9 +73,9 @@ "tape": "^4.9.1" }, "peerDependencies": { - "eslint": "^4.19.1 || ^5.0.1", + "eslint": "^4.19.1 || ^5.3.0", "eslint-plugin-import": "^2.13.0", - "eslint-plugin-jsx-a11y": "^6.1.0", + "eslint-plugin-jsx-a11y": "^6.1.1", "eslint-plugin-react": "^7.10.0" }, "engines": {