diff --git a/eslint/babel-eslint-plugin/README.md b/eslint/babel-eslint-plugin/README.md index fba35aa4dc3f..1ea757adac1e 100644 --- a/eslint/babel-eslint-plugin/README.md +++ b/eslint/babel-eslint-plugin/README.md @@ -1,24 +1,22 @@ -# eslint-plugin-babel +# @babel/eslint-plugin -An `eslint` plugin companion to `babel-eslint`. `babel-eslint` does a great job at adapting `eslint` +Companion rules for `@babel/eslint-parser`. `@babel/eslint-parser` does a great job at adapting `eslint` for use with Babel, but it can't change the built in rules to support experimental features. -`eslint-plugin-babel` re-implements problematic rules so they do not give false positives or negatives. +`@babel/eslint-plugin` re-implements problematic rules so they do not give false positives or negatives. -> Requires Node 4 or greater +> Requires Node 10.9 or greater ### Install ```sh -npm install eslint-plugin-babel --save-dev +npm install @babel/eslint-plugin --save-dev ``` -Load the plugin in your `.eslintrc` file: +Load the plugin in your `.eslintrc.json` file: ```json { - "plugins": [ - "babel" - ] + "plugins": ["@babel/eslint-plugin"] } ``` @@ -28,14 +26,14 @@ original ones as well!). ```json { "rules": { - "babel/new-cap": 1, - "babel/camelcase": 1, - "babel/no-invalid-this": 1, - "babel/object-curly-spacing": 1, - "babel/quotes": 1, - "babel/semi": 1, - "babel/no-unused-expressions": 1, - "babel/valid-typeof": 1 + "babel/new-cap": "error", + "babel/camelcase": "error", + "babel/no-invalid-this": "error", + "babel/object-curly-spacing": "error", + "babel/quotes": "error", + "babel/semi": "error", + "babel/no-unused-expressions": "error", + "babel/valid-typeof": "error" } } ``` diff --git a/eslint/babel-eslint-plugin/package.json b/eslint/babel-eslint-plugin/package.json index 653ebcaf4387..442670ee8ccb 100644 --- a/eslint/babel-eslint-plugin/package.json +++ b/eslint/babel-eslint-plugin/package.json @@ -1,11 +1,12 @@ { - "name": "eslint-plugin-babel", - "version": "5.3.0", - "description": "an eslint rule plugin companion to babel-eslint", + "name": "@babel/eslint-plugin", + "version": "0.0.0", + "description": "Companion rules for @babel/eslint-parser", "main": "lib/index.js", "repository": { "type": "git", - "url": "git+https://github.com/babel/eslint-plugin-babel.git" + "url": "git+https://github.com/babel/babel.git", + "directory": "eslint/babel-eslint-plugin" }, "keywords": [ "babel", @@ -18,12 +19,12 @@ "license": "MIT", "private": true, "engines": { - "node": ">=4" + "node": ">=10.9" }, "bugs": { - "url": "https://github.com/babel/eslint-plugin-babel/issues" + "url": "https://github.com/babel/babel/issues" }, - "homepage": "https://github.com/babel/eslint-plugin-babel#readme", + "homepage": "https://github.com/babel/babel/tree/master/eslint/babel-eslint-plugin", "peerDependencies": { "eslint": ">=4.0.0" }, diff --git a/eslint/babel-eslint-plugin/src/index.js b/eslint/babel-eslint-plugin/src/index.js index eda05b28c808..2e8a37bad182 100644 --- a/eslint/babel-eslint-plugin/src/index.js +++ b/eslint/babel-eslint-plugin/src/index.js @@ -1,38 +1,52 @@ -"use strict"; +import arrayBracketSpacing from "./rules/array-bracket-spacing"; +import arrowParens from "./rules/arrow-parens"; +import flowObjectType from "./rules/flow-object-type"; +import funcParamsCommaDangle from "./rules/func-params-comma-dangle"; +import generatorStarSpacing from "./rules/generator-star-spacing"; +import newCap from "./rules/new-cap"; +import camelcase from "./rules/camelcase"; +import noAwaitInLoop from "./rules/no-await-in-loop"; +import noInvalidThis from "./rules/no-invalid-this"; +import noUnusedExpressions from "./rules/no-unused-expressions"; +import objectCurlySpacing from "./rules/object-curly-spacing"; +import objectShorthand from "./rules/object-shorthand"; +import quotes from "./rules/quotes"; +import semi from "./rules/semi"; +import validTypeof from "./rules/valid-typeof"; module.exports = { rules: { - "array-bracket-spacing": require("./rules/array-bracket-spacing"), - "arrow-parens": require("./rules/arrow-parens"), - "flow-object-type": require("./rules/flow-object-type"), - "func-params-comma-dangle": require("./rules/func-params-comma-dangle"), - "generator-star-spacing": require("./rules/generator-star-spacing"), - "new-cap": require("./rules/new-cap"), - camelcase: require("./rules/camelcase"), - "no-await-in-loop": require("./rules/no-await-in-loop"), - "no-invalid-this": require("./rules/no-invalid-this"), - "no-unused-expressions": require("./rules/no-unused-expressions"), - "object-curly-spacing": require("./rules/object-curly-spacing"), - "object-shorthand": require("./rules/object-shorthand"), - quotes: require("./rules/quotes"), - semi: require("./rules/semi"), - "valid-typeof": require("./rules/valid-typeof"), + "array-bracket-spacing": arrayBracketSpacing, + "arrow-parens": arrowParens, + "flow-object-type": flowObjectType, + "func-params-comma-dangle": funcParamsCommaDangle, + "generator-star-spacing": generatorStarSpacing, + "new-cap": newCap, + camelcase, + "no-await-in-loop": noAwaitInLoop, + "no-invalid-this": noInvalidThis, + "no-unused-expressions": noUnusedExpressions, + "object-curly-spacing": objectCurlySpacing, + "object-shorthand": objectShorthand, + quotes, + semi, + "valid-typeof": validTypeof, }, rulesConfig: { - "array-bracket-spacing": 0, - "arrow-parens": 0, - camelcase: 0, - "flow-object-type": 0, - "func-params-comma-dangle": 0, - "generator-star-spacing": 0, - "new-cap": 0, - "no-await-in-loop": 0, - "no-invalid-this": 0, - "no-unused-expressions": 0, - "object-curly-spacing": 0, - "object-shorthand": 0, - quotes: 0, - semi: 0, - "valid-typeof": 0, + "array-bracket-spacing": "off", + "arrow-parens": "off", + camelcase: "off", + "flow-object-type": "off", + "func-params-comma-dangle": "off", + "generator-star-spacing": "off", + "new-cap": "off", + "no-await-in-loop": "off", + "no-invalid-this": "off", + "no-unused-expressions": "off", + "object-curly-spacing": "off", + "object-shorthand": "off", + quotes: "off", + semi: "off", + "valid-typeof": "off", }, }; diff --git a/eslint/babel-eslint-plugin/src/rules/array-bracket-spacing.js b/eslint/babel-eslint-plugin/src/rules/array-bracket-spacing.js index 59228c20784d..b071db8ec8ad 100644 --- a/eslint/babel-eslint-plugin/src/rules/array-bracket-spacing.js +++ b/eslint/babel-eslint-plugin/src/rules/array-bracket-spacing.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -25,9 +24,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/arrow-parens.js b/eslint/babel-eslint-plugin/src/rules/arrow-parens.js index cdd25819311f..c5ac81a29045 100644 --- a/eslint/babel-eslint-plugin/src/rules/arrow-parens.js +++ b/eslint/babel-eslint-plugin/src/rules/arrow-parens.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -10,9 +9,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/camelcase.js b/eslint/babel-eslint-plugin/src/rules/camelcase.js index 6528b4a7f423..84e1605c5ff4 100644 --- a/eslint/babel-eslint-plugin/src/rules/camelcase.js +++ b/eslint/babel-eslint-plugin/src/rules/camelcase.js @@ -9,7 +9,7 @@ // Rule Definition //------------------------------------------------------------------------------ -module.exports = { +export default { meta: { docs: { description: "enforce camelcase naming convention", diff --git a/eslint/babel-eslint-plugin/src/rules/flow-object-type.js b/eslint/babel-eslint-plugin/src/rules/flow-object-type.js index 4e45f8328b03..2834b19f11c1 100644 --- a/eslint/babel-eslint-plugin/src/rules/flow-object-type.js +++ b/eslint/babel-eslint-plugin/src/rules/flow-object-type.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -10,9 +9,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) @@ -24,7 +23,7 @@ module.exports = { "The babel/flow-object-type rule is deprecated. Please " + "use the flowtype/object-type-delimiter rule instead.\n" + // eslint-disable-next-line - "Check out https://github.com/gajus/eslint-plugin-flowtype#eslint-plugin-flowtype-rules-object-type-delimiter" + "Check out https://github.com/gajus/eslint-plugin-flowtype#eslint-plugin-flowtype-rules-object-type-delimiter", ); isWarnedForDeprecation = true; diff --git a/eslint/babel-eslint-plugin/src/rules/func-params-comma-dangle.js b/eslint/babel-eslint-plugin/src/rules/func-params-comma-dangle.js index d50427103407..00d8006f85e6 100644 --- a/eslint/babel-eslint-plugin/src/rules/func-params-comma-dangle.js +++ b/eslint/babel-eslint-plugin/src/rules/func-params-comma-dangle.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -10,9 +9,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/generator-star-spacing.js b/eslint/babel-eslint-plugin/src/rules/generator-star-spacing.js index 8d65262b5763..108c29951326 100644 --- a/eslint/babel-eslint-plugin/src/rules/generator-star-spacing.js +++ b/eslint/babel-eslint-plugin/src/rules/generator-star-spacing.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -22,9 +21,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/new-cap.js b/eslint/babel-eslint-plugin/src/rules/new-cap.js index 17d40497550d..9e8320c0e76f 100644 --- a/eslint/babel-eslint-plugin/src/rules/new-cap.js +++ b/eslint/babel-eslint-plugin/src/rules/new-cap.js @@ -1,7 +1,6 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const newCapRule = new eslint.Linter().getRules().get("new-cap"); /** @@ -13,7 +12,7 @@ function isDecorator(node) { return node.parent.type === "Decorator"; } -module.exports = ruleComposer.filterReports( +export default ruleComposer.filterReports( newCapRule, problem => !isDecorator(problem.node), ); diff --git a/eslint/babel-eslint-plugin/src/rules/no-await-in-loop.js b/eslint/babel-eslint-plugin/src/rules/no-await-in-loop.js index cf984f09b34e..05470be35bca 100644 --- a/eslint/babel-eslint-plugin/src/rules/no-await-in-loop.js +++ b/eslint/babel-eslint-plugin/src/rules/no-await-in-loop.js @@ -1,14 +1,13 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/no-invalid-this.js b/eslint/babel-eslint-plugin/src/rules/no-invalid-this.js index 101ec655a6d8..4c6434235c2a 100644 --- a/eslint/babel-eslint-plugin/src/rules/no-invalid-this.js +++ b/eslint/babel-eslint-plugin/src/rules/no-invalid-this.js @@ -1,10 +1,9 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const noInvalidThisRule = new eslint.Linter().getRules().get("no-invalid-this"); -module.exports = ruleComposer.filterReports(noInvalidThisRule, problem => { +export default ruleComposer.filterReports(noInvalidThisRule, problem => { let inClassProperty = false; let node = problem.node; diff --git a/eslint/babel-eslint-plugin/src/rules/no-unused-expressions.js b/eslint/babel-eslint-plugin/src/rules/no-unused-expressions.js index 6bc1db49d9ac..de72047dd00b 100644 --- a/eslint/babel-eslint-plugin/src/rules/no-unused-expressions.js +++ b/eslint/babel-eslint-plugin/src/rules/no-unused-expressions.js @@ -1,7 +1,6 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const rule = new eslint.Linter().getRules().get("no-unused-expressions"); /** @@ -57,7 +56,7 @@ function isOptionalCallExpression(node) { ); } -module.exports = ruleComposer.filterReports( +export default ruleComposer.filterReports( rule, problem => !isInDoStatement(problem.node) && !isOptionalCallExpression(problem.node), diff --git a/eslint/babel-eslint-plugin/src/rules/object-curly-spacing.js b/eslint/babel-eslint-plugin/src/rules/object-curly-spacing.js index 4b13d0bd3289..52d877ac8732 100644 --- a/eslint/babel-eslint-plugin/src/rules/object-curly-spacing.js +++ b/eslint/babel-eslint-plugin/src/rules/object-curly-spacing.js @@ -1,12 +1,11 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const objectCurlySpacingRule = new eslint.Linter() .getRules() .get("object-curly-spacing"); -module.exports = ruleComposer.filterReports( +export default ruleComposer.filterReports( objectCurlySpacingRule, (problem, metadata) => { const node = problem.node; diff --git a/eslint/babel-eslint-plugin/src/rules/object-shorthand.js b/eslint/babel-eslint-plugin/src/rules/object-shorthand.js index 92fb8949ef17..47b865f1e309 100644 --- a/eslint/babel-eslint-plugin/src/rules/object-shorthand.js +++ b/eslint/babel-eslint-plugin/src/rules/object-shorthand.js @@ -1,7 +1,6 @@ -"use strict"; - let isWarnedForDeprecation = false; -module.exports = { + +export default { meta: { deprecated: true, schema: [ @@ -10,9 +9,9 @@ module.exports = { }, ], }, - create: function() { + create() { return { - Program: function() { + Program() { if ( isWarnedForDeprecation || /=-(f|-format)=/.test(process.argv.join("=")) diff --git a/eslint/babel-eslint-plugin/src/rules/quotes.js b/eslint/babel-eslint-plugin/src/rules/quotes.js index a4bb46df453f..5b38352658f3 100644 --- a/eslint/babel-eslint-plugin/src/rules/quotes.js +++ b/eslint/babel-eslint-plugin/src/rules/quotes.js @@ -1,10 +1,9 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const quotesRule = new eslint.Linter().getRules().get("quotes"); -module.exports = ruleComposer.filterReports(quotesRule, problem => { +export default ruleComposer.filterReports(quotesRule, problem => { // Workaround for JSX fragment syntax until // https://github.com/eslint/eslint/issues/9662 if (problem.node.parent.type === "JSXFragment") { diff --git a/eslint/babel-eslint-plugin/src/rules/semi.js b/eslint/babel-eslint-plugin/src/rules/semi.js index d732f42dcd0e..a1dabd1bbf96 100644 --- a/eslint/babel-eslint-plugin/src/rules/semi.js +++ b/eslint/babel-eslint-plugin/src/rules/semi.js @@ -1,7 +1,6 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const semiRule = new eslint.Linter().getRules().get("semi"); const OPT_OUT_PATTERN = /^[-[(/+`]/; // One of [(/+-` @@ -104,7 +103,7 @@ const semiRuleWithClassProperty = ruleComposer.joinReports([ }), ]); -module.exports = ruleComposer.filterReports( +export default ruleComposer.filterReports( semiRuleWithClassProperty, problem => { const node = problem.node; diff --git a/eslint/babel-eslint-plugin/src/rules/valid-typeof.js b/eslint/babel-eslint-plugin/src/rules/valid-typeof.js index aa8321ec98f9..ebdd7a33f1e9 100644 --- a/eslint/babel-eslint-plugin/src/rules/valid-typeof.js +++ b/eslint/babel-eslint-plugin/src/rules/valid-typeof.js @@ -1,9 +1,8 @@ -"use strict"; +import ruleComposer from "eslint-rule-composer"; +import eslint from "eslint"; -const ruleComposer = require("eslint-rule-composer"); -const eslint = require("eslint"); const validTypeOf = new eslint.Linter().getRules().get("valid-typeof"); -module.exports = ruleComposer.filterReports(validTypeOf, problem => { +export default ruleComposer.filterReports(validTypeOf, problem => { return problem.node.value !== "bigint"; }); diff --git a/eslint/babel-eslint-plugin/test/rules/camelcase.js b/eslint/babel-eslint-plugin/test/rules/camelcase.js index f6d1d9249be9..c44861557ab1 100644 --- a/eslint/babel-eslint-plugin/test/rules/camelcase.js +++ b/eslint/babel-eslint-plugin/test/rules/camelcase.js @@ -3,14 +3,12 @@ * @author Nicholas C. Zakas */ -"use strict"; - //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ -const rule = require("../../src/rules/camelcase"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/camelcase"; +import RuleTester from "../helpers/RuleTester"; //------------------------------------------------------------------------------ // Tests diff --git a/eslint/babel-eslint-plugin/test/rules/new-cap.js b/eslint/babel-eslint-plugin/test/rules/new-cap.js index 1dc8d3069a97..058ef3d9153f 100644 --- a/eslint/babel-eslint-plugin/test/rules/new-cap.js +++ b/eslint/babel-eslint-plugin/test/rules/new-cap.js @@ -3,10 +3,10 @@ * @author Nicholas C. Zakas */ -var rule = require("../../src/rules/new-cap"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/new-cap"; +import RuleTester from "../helpers/RuleTester"; -var ruleTester = new RuleTester(); +const ruleTester = new RuleTester(); ruleTester.run("babel/new-cap", rule, { valid: [ // Original test cases. diff --git a/eslint/babel-eslint-plugin/test/rules/no-invalid-this.js b/eslint/babel-eslint-plugin/test/rules/no-invalid-this.js index 7264a030f026..eeca380d389e 100644 --- a/eslint/babel-eslint-plugin/test/rules/no-invalid-this.js +++ b/eslint/babel-eslint-plugin/test/rules/no-invalid-this.js @@ -3,15 +3,13 @@ * @author Toru Nagashima */ -"use strict"; - //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ -const cloneDeep = require("lodash.clonedeep"); -const rule = require("../../src/rules/no-invalid-this"), - RuleTester = require("../helpers/RuleTester"); +import cloneDeep from "lodash.clonedeep"; +import rule from "../../src/rules/no-invalid-this"; +import RuleTester from "../helpers/RuleTester"; //------------------------------------------------------------------------------ // Helpers diff --git a/eslint/babel-eslint-plugin/test/rules/no-unused-expressions.js b/eslint/babel-eslint-plugin/test/rules/no-unused-expressions.js index fc07ad73d572..1bb327883bfc 100644 --- a/eslint/babel-eslint-plugin/test/rules/no-unused-expressions.js +++ b/eslint/babel-eslint-plugin/test/rules/no-unused-expressions.js @@ -3,14 +3,12 @@ * @author Michael Ficarra */ -"use strict"; - //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ -const rule = require("../../src/rules/no-unused-expressions"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/no-unused-expressions"; +import RuleTester from "../helpers/RuleTester"; //------------------------------------------------------------------------------ // Tests diff --git a/eslint/babel-eslint-plugin/test/rules/object-curly-spacing.js b/eslint/babel-eslint-plugin/test/rules/object-curly-spacing.js index ff51d248baec..dfe03196f208 100644 --- a/eslint/babel-eslint-plugin/test/rules/object-curly-spacing.js +++ b/eslint/babel-eslint-plugin/test/rules/object-curly-spacing.js @@ -6,10 +6,10 @@ * @copyright 2015 Mathieu M-Gosselin. All rights reserved. */ -var rule = require("../../src/rules/object-curly-spacing"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/object-curly-spacing"; +import RuleTester from "../helpers/RuleTester"; -var ruleTester = new RuleTester(); +const ruleTester = new RuleTester(); ruleTester.run("babel/object-curly-spacing", rule, { valid: [ // always - object literals diff --git a/eslint/babel-eslint-plugin/test/rules/quotes.js b/eslint/babel-eslint-plugin/test/rules/quotes.js index 938da649d21e..7bd4e7ea34ad 100644 --- a/eslint/babel-eslint-plugin/test/rules/quotes.js +++ b/eslint/babel-eslint-plugin/test/rules/quotes.js @@ -1,7 +1,7 @@ -var rule = require("../../src/rules/quotes"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/quotes"; +import RuleTester from "../helpers/RuleTester"; -var ruleTester = new RuleTester(); +const ruleTester = new RuleTester(); ruleTester.run("babel/quotes", rule, { valid: [ 'var foo = "bar";', diff --git a/eslint/babel-eslint-plugin/test/rules/semi.js b/eslint/babel-eslint-plugin/test/rules/semi.js index ac95f38482db..c5b8a8fc4a09 100644 --- a/eslint/babel-eslint-plugin/test/rules/semi.js +++ b/eslint/babel-eslint-plugin/test/rules/semi.js @@ -4,14 +4,12 @@ * @author Nicholas C. Zakas */ -"use strict"; - //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ -const rule = require("../../src/rules/semi"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/semi"; +import RuleTester from "../helpers/RuleTester"; const ruleTester = new RuleTester(); diff --git a/eslint/babel-eslint-plugin/test/rules/valid-typeof.js b/eslint/babel-eslint-plugin/test/rules/valid-typeof.js index c6092a72f688..ee23bd5291ce 100644 --- a/eslint/babel-eslint-plugin/test/rules/valid-typeof.js +++ b/eslint/babel-eslint-plugin/test/rules/valid-typeof.js @@ -3,14 +3,12 @@ * @author Ian Christian Myers */ -"use strict"; - //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ -const rule = require("../../src/rules/valid-typeof"), - RuleTester = require("../helpers/RuleTester"); +import rule from "../../src/rules/valid-typeof"; +import RuleTester from "../helpers/RuleTester"; //------------------------------------------------------------------------------ // Tests