diff --git a/tests/src/rules/default.js b/tests/src/rules/default.js index 027c5a93d..c02b36448 100644 --- a/tests/src/rules/default.js +++ b/tests/src/rules/default.js @@ -28,19 +28,19 @@ ruleTester.run('default', rule, { // es7 export syntax test({ code: 'export bar from "./bar"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'export { default as bar } from "./bar"' }), test({ code: 'export bar, { foo } from "./bar"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'export { default as bar, foo } from "./bar"' }), test({ code: 'export bar, * as names from "./bar"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), // sanity check test({ code: 'export {a} from "./named-exports"' }), test({ code: 'import twofer from "./trampoline"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // jsx @@ -68,27 +68,27 @@ ruleTester.run('default', rule, { // from no-errors test({ code: "import Foo from './jsx/FooES7.js';", - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // #545: more ES7 cases test({ code: "import bar from './default-export-from.js';", - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: "import bar from './default-export-from-named.js';", - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: "import bar from './default-export-from-ignored.js';", settings: { 'import/ignore': ['common'] }, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: "export bar from './default-export-from-ignored.js';", settings: { 'import/ignore': ['common'] }, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ...SYNTAX_CASES, @@ -113,23 +113,23 @@ ruleTester.run('default', rule, { // es7 export syntax test({ code: 'export baz from "./named-exports"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ['No default export found in module.'], }), test({ code: 'export baz, { bar } from "./named-exports"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ['No default export found in module.'], }), test({ code: 'export baz, * as names from "./named-exports"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ['No default export found in module.'], }), // exports default from a module with no default test({ code: 'import twofer from "./broken-trampoline"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ['No default export found in module.'], }), diff --git a/tests/src/rules/dynamic-import-chunkname.js b/tests/src/rules/dynamic-import-chunkname.js index 6b0d448da..d19667c16 100644 --- a/tests/src/rules/dynamic-import-chunkname.js +++ b/tests/src/rules/dynamic-import-chunkname.js @@ -14,7 +14,7 @@ const pickyCommentOptions = [{ const multipleImportFunctionOptions = [{ importFunctions: ['dynamicImport', 'definitelyNotStaticImport'], }] -const parser = 'babel-eslint' +const parser = require.resolve('babel-eslint') const noLeadingCommentError = 'dynamic imports require a leading comment with the webpack chunkname' const nonBlockCommentError = 'dynamic imports require a /* foo */ style comment, not a // foo comment' diff --git a/tests/src/rules/export.js b/tests/src/rules/export.js index 6431c542c..379297096 100644 --- a/tests/src/rules/export.js +++ b/tests/src/rules/export.js @@ -112,10 +112,10 @@ ruleTester.run('export', rule, { context('Typescript', function () { // Typescript - const parsers = ['typescript-eslint-parser'] + const parsers = [require.resolve('typescript-eslint-parser')] if (semver.satisfies(eslintPkg.version, '>5.0.0')) { - parsers.push('@typescript-eslint/parser') + parsers.push(require.resolve('@typescript-eslint/parser')) } parsers.forEach((parser) => { diff --git a/tests/src/rules/max-dependencies.js b/tests/src/rules/max-dependencies.js index 7377c1451..ee35b648f 100644 --- a/tests/src/rules/max-dependencies.js +++ b/tests/src/rules/max-dependencies.js @@ -66,7 +66,7 @@ ruleTester.run('max-dependencies', rule, { test({ code: 'import type { x } from \'./foo\'; import type { y } from \'./bar\'', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), options: [{ max: 1, }], diff --git a/tests/src/rules/named.js b/tests/src/rules/named.js index 6592aa958..8827ce5e4 100644 --- a/tests/src/rules/named.js +++ b/tests/src/rules/named.js @@ -55,11 +55,11 @@ ruleTester.run('named', rule, { // es7 test({ code: 'export bar, { foo } from "./bar"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import { foo, bar } from "./named-trampoline"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // regression tests @@ -74,43 +74,43 @@ ruleTester.run('named', rule, { // should ignore imported/exported flow types, even if they don’t exist test({ code: 'import type { MissingType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import typeof { MissingType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import type { MyOpaqueType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import typeof { MyOpaqueType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import { type MyOpaqueType, MyClass } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import { typeof MyOpaqueType, MyClass } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import typeof MissingType from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import typeof * as MissingType from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'export type { MissingType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'export type { MyOpaqueType } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // jsnext @@ -188,17 +188,17 @@ ruleTester.run('named', rule, { // es7 test({ code: 'export bar2, { bar } from "./bar"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ["bar not found in './bar'"], }), test({ code: 'import { foo, bar, baz } from "./named-trampoline"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ["baz not found in './named-trampoline'"], }), test({ code: 'import { baz } from "./broken-trampoline"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ["baz not found via broken-trampoline.js -> named-exports.js"], }), @@ -214,7 +214,7 @@ ruleTester.run('named', rule, { test({ code: 'import { type MyOpaqueType, MyMissingClass } from "./flowtypes"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ["MyMissingClass not found in './flowtypes'"], }), @@ -286,10 +286,10 @@ ruleTester.run('named (export *)', rule, { context('Typescript', function () { // Typescript - const parsers = ['typescript-eslint-parser'] + const parsers = [require.resolve('typescript-eslint-parser')] if (semver.satisfies(eslintPkg.version, '>5.0.0')) { - parsers.push('@typescript-eslint/parser') + parsers.push(require.resolve('@typescript-eslint/parser')) } parsers.forEach((parser) => { diff --git a/tests/src/rules/namespace.js b/tests/src/rules/namespace.js index f147ddc2c..cfc6305d5 100644 --- a/tests/src/rules/namespace.js +++ b/tests/src/rules/namespace.js @@ -56,16 +56,16 @@ const valid = [ // es7 // ///////// test({ code: 'export * as names from "./named-exports"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'export defport, * as names from "./named-exports"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), // non-existent is handled by no-unresolved test({ code: 'export * as names from "./does-not-exist"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'import * as Endpoints from "./issue-195/Endpoints"; console.log(Endpoints.Users)', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // respect hoisting @@ -80,11 +80,11 @@ const valid = [ test({ code: "import * as names from './default-export'; console.log(names.default)" }), test({ code: 'export * as names from "./default-export"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'export defport, * as names from "./default-export"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // #456: optionally ignore computed references @@ -102,7 +102,7 @@ const valid = [ }), test({ code: `import * as names from './named-exports'; const {a, b, ...rest} = names;`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // #1144: should handle re-export CommonJS as namespace @@ -163,7 +163,7 @@ const invalid = [ test({ code: 'import * as Endpoints from "./issue-195/Endpoints"; console.log(Endpoints.Foo)', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ["'Foo' not found in imported namespace 'Endpoints'."], }), @@ -217,7 +217,7 @@ const invalid = [ /////////////////////// // deep dereferences // ////////////////////// -;[['deep', 'espree'], ['deep-es7', 'babel-eslint']].forEach(function ([folder, parser]) { // close over params +;[['deep', require.resolve('espree')], ['deep-es7', require.resolve('babel-eslint')]].forEach(function ([folder, parser]) { // close over params valid.push( test({ parser, code: `import * as a from "./${folder}/a"; console.log(a.b.c.d.e)` }), test({ parser, code: `import { b } from "./${folder}/a"; console.log(b.c.d.e)` }), diff --git a/tests/src/rules/no-cycle.js b/tests/src/rules/no-cycle.js index c88c7504b..18fe88af1 100644 --- a/tests/src/rules/no-cycle.js +++ b/tests/src/rules/no-cycle.js @@ -43,15 +43,15 @@ ruleTester.run('no-cycle', rule, { test({ code: 'import("./depth-two").then(function({ foo }){})', options: [{ maxDepth: 1 }], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import type { FooType } from "./depth-one"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import type { FooType, BarType } from "./depth-one"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ], invalid: [ @@ -108,17 +108,17 @@ ruleTester.run('no-cycle', rule, { test({ code: 'import { bar } from "./depth-three-indirect"', errors: [error(`Dependency cycle via ./depth-two:1=>./depth-one:1`)], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import("./depth-three-star")', errors: [error(`Dependency cycle via ./depth-two:1=>./depth-one:1`)], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import("./depth-three-indirect")', errors: [error(`Dependency cycle via ./depth-two:1=>./depth-one:1`)], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ], }) diff --git a/tests/src/rules/no-default-export.js b/tests/src/rules/no-default-export.js index 5977ef19b..dd71c167e 100644 --- a/tests/src/rules/no-default-export.js +++ b/tests/src/rules/no-default-export.js @@ -58,7 +58,7 @@ ruleTester.run('no-default-export', rule, { }), test({ code: 'export { a, b } from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // no exports at all @@ -74,15 +74,15 @@ ruleTester.run('no-default-export', rule, { test({ code: `export type UserId = number;`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'export foo from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: `export Memory, { MemoryValue } from './Memory'`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ], invalid: [ @@ -112,7 +112,7 @@ ruleTester.run('no-default-export', rule, { }), test({ code: 'export default from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [{ ruleId: 'ExportNamedDeclaration', message: 'Prefer named exports.', diff --git a/tests/src/rules/no-duplicates.js b/tests/src/rules/no-duplicates.js index cdd365382..29b080466 100644 --- a/tests/src/rules/no-duplicates.js +++ b/tests/src/rules/no-duplicates.js @@ -23,7 +23,7 @@ ruleTester.run('no-duplicates', rule, { // #225: ignore duplicate if is a flow type import test({ code: "import { x } from './foo'; import type { y } from './foo'", - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ], invalid: [ @@ -64,7 +64,7 @@ ruleTester.run('no-duplicates', rule, { test({ code: "import type { x } from './foo'; import type { y } from './foo'", output: "import type { x , y } from './foo'; ", - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: ['\'./foo\' imported multiple times.', '\'./foo\' imported multiple times.'], }), diff --git a/tests/src/rules/no-extraneous-dependencies.js b/tests/src/rules/no-extraneous-dependencies.js index c29c8e5bd..b9d24580e 100644 --- a/tests/src/rules/no-extraneous-dependencies.js +++ b/tests/src/rules/no-extraneous-dependencies.js @@ -76,7 +76,7 @@ ruleTester.run('no-extraneous-dependencies', rule, { test({ code: 'import type MyType from "myflowtyped";', options: [{packageDir: packageDirWithFlowTyped}], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import react from "react";', @@ -289,5 +289,5 @@ ruleTester.run('no-extraneous-dependencies', rule, { message: "'react' should be listed in the project's dependencies. Run 'npm i -S react' to add it", }], }), - ] + ], }) diff --git a/tests/src/rules/no-mutable-exports.js b/tests/src/rules/no-mutable-exports.js index b597f70d5..6d83566b7 100644 --- a/tests/src/rules/no-mutable-exports.js +++ b/tests/src/rules/no-mutable-exports.js @@ -25,11 +25,11 @@ ruleTester.run('no-mutable-exports', rule, { test({ code: 'class Counter {}\nexport default Counter'}), test({ code: 'class Counter {}\nexport { Counter as default }'}), test({ - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), code: 'export Something from "./something";', }), test({ - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), code: 'type Foo = {}\nexport type {Foo}', }), ], diff --git a/tests/src/rules/no-named-as-default.js b/tests/src/rules/no-named-as-default.js index d249545f4..a5e0f041f 100644 --- a/tests/src/rules/no-named-as-default.js +++ b/tests/src/rules/no-named-as-default.js @@ -13,13 +13,13 @@ ruleTester.run('no-named-as-default', rule, { // es7 test({ code: 'export bar, { foo } from "./bar";' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'export bar from "./bar";' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), // #566: don't false-positive on `default` itself test({ code: 'export default from "./bar";' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), ...SYNTAX_CASES, ], @@ -39,13 +39,13 @@ ruleTester.run('no-named-as-default', rule, { // es7 test({ code: 'export foo from "./bar";', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [ { message: 'Using exported name \'foo\' as identifier for default export.' , type: 'ExportDefaultSpecifier' } ] }), test({ code: 'export foo, { foo as bar } from "./bar";', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [ { message: 'Using exported name \'foo\' as identifier for default export.' , type: 'ExportDefaultSpecifier' } ] }), diff --git a/tests/src/rules/no-named-default.js b/tests/src/rules/no-named-default.js index b7013fcc7..f9109fa8f 100644 --- a/tests/src/rules/no-named-default.js +++ b/tests/src/rules/no-named-default.js @@ -19,7 +19,7 @@ ruleTester.run('no-named-default', rule, { message: 'Use default import syntax to import \'default\'.', type: 'Identifier', }], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }),*/ test({ code: 'import { default as bar } from "./bar";', diff --git a/tests/src/rules/no-named-export.js b/tests/src/rules/no-named-export.js index c56a13542..c4ef9c9c7 100644 --- a/tests/src/rules/no-named-export.js +++ b/tests/src/rules/no-named-export.js @@ -14,7 +14,7 @@ ruleTester.run('no-named-export', rule, { }), test({ code: 'export default from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // no exports at all @@ -146,7 +146,7 @@ ruleTester.run('no-named-export', rule, { }), test({ code: 'export { a, b } from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [{ ruleId: 'ExportNamedDeclaration', message: 'Named exports are not allowed.', @@ -154,7 +154,7 @@ ruleTester.run('no-named-export', rule, { }), test({ code: `export type UserId = number;`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [{ ruleId: 'ExportNamedDeclaration', message: 'Named exports are not allowed.', @@ -162,7 +162,7 @@ ruleTester.run('no-named-export', rule, { }), test({ code: 'export foo from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [{ ruleId: 'ExportNamedDeclaration', message: 'Named exports are not allowed.', @@ -170,7 +170,7 @@ ruleTester.run('no-named-export', rule, { }), test({ code: `export Memory, { MemoryValue } from './Memory'`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), errors: [{ ruleId: 'ExportNamedDeclaration', message: 'Named exports are not allowed.', diff --git a/tests/src/rules/no-relative-parent-imports.js b/tests/src/rules/no-relative-parent-imports.js index 281edd123..05ef9d8bf 100644 --- a/tests/src/rules/no-relative-parent-imports.js +++ b/tests/src/rules/no-relative-parent-imports.js @@ -4,7 +4,7 @@ import { test as _test, testFilePath } from '../utils' const test = def => _test(Object.assign(def, { filename: testFilePath('./internal-modules/plugins/plugin2/index.js'), - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), })) const ruleTester = new RuleTester() @@ -83,24 +83,24 @@ ruleTester.run('no-relative-parent-imports', rule, { errors: [ { message: 'Relative imports from parent directories are not allowed. Please either pass what you\'re importing through at runtime (dependency injection), move `index.js` to same directory as `./../plugin.js` or consider making `./../plugin.js` a package.', line: 1, - column: 17 - }] + column: 17, + }], }), test({ code: 'import foo from "../../api/service"', errors: [ { message: 'Relative imports from parent directories are not allowed. Please either pass what you\'re importing through at runtime (dependency injection), move `index.js` to same directory as `../../api/service` or consider making `../../api/service` a package.', line: 1, - column: 17 - }] + column: 17, + }], }), test({ code: 'import("../../api/service")', errors: [ { message: 'Relative imports from parent directories are not allowed. Please either pass what you\'re importing through at runtime (dependency injection), move `index.js` to same directory as `../../api/service` or consider making `../../api/service` a package.', line: 1, - column: 8 + column: 8, }], - }) + }), ], }) diff --git a/tests/src/rules/no-unresolved.js b/tests/src/rules/no-unresolved.js index 9fa7019a7..124ac8483 100644 --- a/tests/src/rules/no-unresolved.js +++ b/tests/src/rules/no-unresolved.js @@ -30,7 +30,7 @@ function runResolverTests(resolver) { rest({ code: "import {someThing} from './test-module';" }), rest({ code: "import fs from 'fs';" }), rest({ code: "import('fs');" - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), rest({ code: 'import * as foo from "a"' }), @@ -40,9 +40,9 @@ function runResolverTests(resolver) { // stage 1 proposal for export symmetry, rest({ code: 'export * as bar from "./bar"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), rest({ code: 'export bar from "./bar"' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), rest({ code: 'import foo from "./jsx/MyUnCoolComponent.jsx"' }), // commonjs setting @@ -122,7 +122,7 @@ function runResolverTests(resolver) { "module 'in-alternate-root'." , type: 'Literal', }], - parser: 'babel-eslint'}), + parser: require.resolve('babel-eslint')}), rest({ code: 'export { foo } from "./does-not-exist"' , errors: ["Unable to resolve path to module './does-not-exist'."] }), @@ -133,11 +133,11 @@ function runResolverTests(resolver) { // export symmetry proposal rest({ code: 'export * as bar from "./does-not-exist"' - , parser: 'babel-eslint' + , parser: require.resolve('babel-eslint') , errors: ["Unable to resolve path to module './does-not-exist'."], }), rest({ code: 'export bar from "./does-not-exist"' - , parser: 'babel-eslint' + , parser: require.resolve('babel-eslint') , errors: ["Unable to resolve path to module './does-not-exist'."], }), diff --git a/tests/src/rules/no-useless-path-segments.js b/tests/src/rules/no-useless-path-segments.js index 52e66ec6f..366e75354 100644 --- a/tests/src/rules/no-useless-path-segments.js +++ b/tests/src/rules/no-useless-path-segments.js @@ -29,11 +29,11 @@ function runResolverTests(resolver) { test({ code: 'import "./importType"', options: [{ noUselessIndex: true }] }), // ./importType.js does not exist test({ code: 'import(".")' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'import("..")' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), test({ code: 'import("fs").then(function(fs){})' - , parser: 'babel-eslint' }), + , parser: require.resolve('babel-eslint') }), ], invalid: [ @@ -199,17 +199,17 @@ function runResolverTests(resolver) { test({ code: 'import("./")', errors: [ 'Useless path segments for "./", should be "."'], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import("../")', errors: [ 'Useless path segments for "../", should be ".."'], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'import("./deep//a")', errors: [ 'Useless path segments for "./deep//a", should be "./deep/a"'], - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), ], }) diff --git a/tests/src/rules/order.js b/tests/src/rules/order.js index b310dd07f..0898cd85d 100644 --- a/tests/src/rules/order.js +++ b/tests/src/rules/order.js @@ -1382,7 +1382,7 @@ ruleTester.run('order', rule, { var fs = require('fs'); var async = require('async'); `, - parser: 'typescript-eslint-parser', + parser: require.resolve('typescript-eslint-parser'), errors: [{ ruleId: 'order', message: '`fs` import should occur before import of `async`', @@ -1398,7 +1398,7 @@ ruleTester.run('order', rule, { var fs = require('fs'); var async = require('async'); `, - parser: '@typescript-eslint/parser', + parser: require.resolve('@typescript-eslint/parser'), errors: [{ ruleId: 'order', message: '`fs` import should occur before import of `async`', diff --git a/tests/src/rules/prefer-default-export.js b/tests/src/rules/prefer-default-export.js index 3a89c6aa7..1d670a02f 100644 --- a/tests/src/rules/prefer-default-export.js +++ b/tests/src/rules/prefer-default-export.js @@ -60,7 +60,7 @@ ruleTester.run('prefer-default-export', rule, { }), test({ code: `export Memory, { MemoryValue } from './Memory'`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // no exports at all @@ -71,17 +71,17 @@ ruleTester.run('prefer-default-export', rule, { test({ code: `export type UserId = number;`, - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // issue #653 test({ code: 'export default from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), test({ code: 'export { a, b } from "foo.js"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), }), // ...SYNTAX_CASES, diff --git a/tests/src/rules/unambiguous.js b/tests/src/rules/unambiguous.js index b9455118e..09ca57ef9 100644 --- a/tests/src/rules/unambiguous.js +++ b/tests/src/rules/unambiguous.js @@ -38,7 +38,7 @@ ruleTester.run('unambiguous', rule, { }, { code: 'function x() {}; export * as y from "z"', - parser: 'babel-eslint', + parser: require.resolve('babel-eslint'), parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, }, { diff --git a/tests/src/utils.js b/tests/src/utils.js index b416ec83d..a842b788a 100644 --- a/tests/src/utils.js +++ b/tests/src/utils.js @@ -46,7 +46,7 @@ export const SYNTAX_CASES = [ test({ code: 'for (let [ foo, bar ] of baz) {}' }), test({ code: 'const { x, y } = bar' }), - test({ code: 'const { x, y, ...z } = bar', parser: 'babel-eslint' }), + test({ code: 'const { x, y, ...z } = bar', parser: require.resolve('babel-eslint') }), // all the exports test({ code: 'let x; export { x }' }), @@ -54,7 +54,7 @@ export const SYNTAX_CASES = [ // not sure about these since they reference a file // test({ code: 'export { x } from "./y.js"'}), - // test({ code: 'export * as y from "./y.js"', parser: 'babel-eslint'}), + // test({ code: 'export * as y from "./y.js"', parser: require.resolve('babel-eslint')}), test({ code: 'export const x = null' }), test({ code: 'export var x = null' }),