diff --git a/.babelrc b/.babelrc index 8b6de73..fb7703b 100644 --- a/.babelrc +++ b/.babelrc @@ -8,7 +8,7 @@ "@babel/preset-env", { "targets": { - "node": 10 + "node": 12 } } ] diff --git a/.travis.yml b/.travis.yml index c7f9df5..9cc1730 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: node_js node_js: - node - - 10 + - 12 before_install: - npm config set depth 0 notifications: diff --git a/package.json b/package.json index c12dcf3..22fb8fd 100644 --- a/package.json +++ b/package.json @@ -10,19 +10,19 @@ }, "description": "Flowtype linting rules for ESLint.", "devDependencies": { - "@babel/cli": "^7.8.4", - "@babel/core": "^7.9.6", - "@babel/node": "^7.8.7", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/preset-env": "^7.9.6", - "@babel/register": "^7.9.0", + "@babel/cli": "^7.14.8", + "@babel/core": "^7.15.0", + "@babel/eslint-parser": "^7.15.0", + "@babel/node": "^7.14.9", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/preset-env": "^7.15.0", + "@babel/register": "^7.15.3", "ajv": "^6.12.2", - "babel-eslint": "^10.1.0", "babel-plugin-add-module-exports": "^1.0.2", "chai": "^4.2.0", "eclint": "^2.8.1", - "eslint": "^7.1.0", - "eslint-config-canonical": "^20.0.4", + "eslint": "^8.0.0-0", + "eslint-config-canonical": "^27.0.0", "gitdown": "^3.1.3", "glob": "^7.1.6", "husky": "^4.2.5", @@ -32,7 +32,7 @@ "semantic-release": "^17.0.8" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "husky": { "hooks": { @@ -48,7 +48,7 @@ "main": "./dist/index.js", "name": "eslint-plugin-flowtype", "peerDependencies": { - "eslint": "^7.1.0" + "eslint": "^8.0.0-0" }, "repository": { "type": "git", diff --git a/src/rules/noUnusedExpressions.js b/src/rules/noUnusedExpressions.js index 2cfdf73..c89a4a3 100644 --- a/src/rules/noUnusedExpressions.js +++ b/src/rules/noUnusedExpressions.js @@ -1,7 +1,8 @@ // A wrapper around ESLint's core rule no-unused-expressions, additionally ignores type cast // expressions. +import { builtinRules } from 'eslint/use-at-your-own-risk'; -import coreNOE from 'eslint/lib/rules/no-unused-expressions'; +const coreNOE = builtinRules.get('no-unused-expressions'); const meta = coreNOE.meta; diff --git a/tests/rules/assertions/defineFlowType.js b/tests/rules/assertions/defineFlowType.js index f4d9552..3021347 100644 --- a/tests/rules/assertions/defineFlowType.js +++ b/tests/rules/assertions/defineFlowType.js @@ -1,7 +1,7 @@ -import { - RuleTester, -} from 'eslint'; -import noUndefRule from 'eslint/lib/rules/no-undef'; +import { RuleTester } from 'eslint'; +import { builtinRules } from 'eslint/use-at-your-own-risk'; + +const noUndefRule = builtinRules.get('no-undef'); const VALID_WITH_DEFINE_FLOW_TYPE = [ { @@ -199,7 +199,7 @@ const ALWAYS_VALID = [ */ { const ruleTester = new RuleTester({ - parser: require.resolve('babel-eslint'), + parser: require.resolve('@babel/eslint-parser'), }); ruleTester.run('no-undef must not trigger an error in these cases', noUndefRule, { @@ -210,7 +210,7 @@ const ALWAYS_VALID = [ { const ruleTester = new RuleTester({ - parser: require.resolve('babel-eslint'), + parser: require.resolve('@babel/eslint-parser'), }); ruleTester.run('no-undef must trigger an error when define-flow-type is not used in these cases', noUndefRule, { diff --git a/tests/rules/assertions/useFlowType.js b/tests/rules/assertions/useFlowType.js index 7d7ee44..3687b22 100644 --- a/tests/rules/assertions/useFlowType.js +++ b/tests/rules/assertions/useFlowType.js @@ -1,9 +1,9 @@ -import { - RuleTester, -} from 'eslint'; -import noUnusedVarsRule from 'eslint/lib/rules/no-unused-vars'; +import { RuleTester } from 'eslint'; +import { builtinRules } from 'eslint/use-at-your-own-risk'; import useFlowType from '../../../src/rules/useFlowType'; +const noUnusedVarsRule = builtinRules.get('no-unused-vars'); + const VALID_WITH_USE_FLOW_TYPE = [ { code: 'declare class A {}', @@ -92,7 +92,7 @@ const ALWAYS_VALID = [ */ { const ruleTester = new RuleTester({ - parser: require.resolve('babel-eslint'), + parser: require.resolve('@babel/eslint-parser'), }); ruleTester.run('no-unused-vars must not trigger an error in these cases', noUnusedVarsRule, { @@ -103,7 +103,7 @@ const ALWAYS_VALID = [ { const ruleTester = new RuleTester({ - parser: require.resolve('babel-eslint'), + parser: require.resolve('@babel/eslint-parser'), }); ruleTester.run('no-unused-vars must trigger an error in these cases', noUnusedVarsRule, { @@ -117,7 +117,7 @@ const ALWAYS_VALID = [ { const ruleTester = new RuleTester({ - parser: require.resolve('babel-eslint'), + parser: require.resolve('@babel/eslint-parser'), rules: { 'use-flow-type': 1, }, diff --git a/tests/rules/index.js b/tests/rules/index.js index 619b6a0..9ed58b5 100644 --- a/tests/rules/index.js +++ b/tests/rules/index.js @@ -58,7 +58,7 @@ const reportingRules = [ 'valid-syntax', ]; -const parser = require.resolve('babel-eslint'); +const parser = require.resolve('@babel/eslint-parser'); const ajv = new Ajv({ verbose: true, });