@@ -3,7 +3,7 @@ import typescriptConfig from '../../../config/typescript';
3
3
import path from 'path' ;
4
4
import fs from 'fs' ;
5
5
import semver from 'semver' ;
6
- import eslintPkg from 'eslint/package.json' ;
6
+ import estreePkg from '@typescript- eslint/typescript-estree /package.json' ;
7
7
8
8
import { RuleTester } from 'eslint' ;
9
9
import flatMap from 'array.prototype.flatmap' ;
@@ -380,8 +380,7 @@ ruleTester.run('no-extraneous-dependencies', rule, {
380
380
] ,
381
381
} ) ;
382
382
383
- // TODO: figure out why these tests fail in eslint 4
384
- ( semver . satisfies ( eslintPkg . version , '^4' ) ? describe . skip : describe ) ( 'TypeScript' , ( ) => {
383
+ ( semver . satisfies ( estreePkg . version , '<2.23.0' ) ? describe . skip : describe ) ( 'TypeScript' , ( ) => {
385
384
getTSParsers ( ) . forEach ( ( parser ) => {
386
385
const parserConfig = {
387
386
parser,
@@ -391,63 +390,39 @@ ruleTester.run('no-extraneous-dependencies', rule, {
391
390
} ,
392
391
} ;
393
392
394
- if ( parser !== require . resolve ( 'typescript-eslint-parser' ) ) {
395
- ruleTester . run ( 'no-extraneous-dependencies' , rule , {
396
- valid : [
397
- test ( Object . assign ( {
398
- code : 'import type T from "a";' ,
399
- options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
400
- } , parserConfig ) ) ,
401
- ] ,
402
- invalid : [
403
- test ( Object . assign ( {
404
- code : 'import T from "a";' ,
405
- options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
406
- errors : [ {
407
- message : "'a' should be listed in the project's dependencies, not devDependencies." ,
408
- } ] ,
409
- } , parserConfig ) ) ,
410
- ] ,
411
- } ) ;
412
- } else {
413
- ruleTester . run ( 'no-extraneous-dependencies' , rule , {
414
- valid : [ ] ,
415
- invalid : [
416
- test ( Object . assign ( {
417
- code : 'import T from "a"; /* typescript-eslint-parser */' ,
418
- options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
419
- errors : [ {
420
- message : "'a' should be listed in the project's dependencies, not devDependencies." ,
421
- } ] ,
422
- } , parserConfig ) ) ,
423
- test ( Object . assign ( {
424
- code : 'import type T from "a"; /* typescript-eslint-parser */' ,
425
- options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
426
- errors : [ {
427
- message : "'a' should be listed in the project's dependencies, not devDependencies." ,
428
- } ] ,
429
- } , parserConfig ) ) ,
430
- ] ,
431
- } ) ;
432
- }
393
+ ruleTester . run ( 'no-extraneous-dependencies' , rule , {
394
+ valid : [
395
+ test ( Object . assign ( {
396
+ code : 'import type T from "a";' ,
397
+ options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
398
+ } , parserConfig ) ) ,
399
+ ] ,
400
+ invalid : [
401
+ test ( Object . assign ( {
402
+ code : 'import T from "a";' ,
403
+ options : [ { packageDir : packageDirWithTypescriptDevDependencies , devDependencies : false } ] ,
404
+ errors : [ {
405
+ message : "'a' should be listed in the project's dependencies, not devDependencies." ,
406
+ } ] ,
407
+ } , parserConfig ) ) ,
408
+ ] ,
409
+ } ) ;
433
410
} ) ;
434
411
} ) ;
435
412
436
- if ( semver . satisfies ( eslintPkg . version , '>5.0.0' ) ) {
437
- typescriptRuleTester . run ( 'no-extraneous-dependencies typescript type imports' , rule , {
438
- valid : [
439
- test ( {
440
- code : 'import type MyType from "not-a-dependency";' ,
441
- filename : testFilePath ( './no-unused-modules/typescript/file-ts-a.ts' ) ,
442
- parser : require . resolve ( 'babel-eslint' ) ,
443
- } ) ,
444
- test ( {
445
- code : 'import type { MyType } from "not-a-dependency";' ,
446
- filename : testFilePath ( './no-unused-modules/typescript/file-ts-a.ts' ) ,
447
- parser : require . resolve ( 'babel-eslint' ) ,
448
- } ) ,
449
- ] ,
450
- invalid : [
451
- ] ,
452
- } ) ;
453
- }
413
+ typescriptRuleTester . run ( 'no-extraneous-dependencies typescript type imports' , rule , {
414
+ valid : [
415
+ test ( {
416
+ code : 'import type MyType from "not-a-dependency";' ,
417
+ filename : testFilePath ( './no-unused-modules/typescript/file-ts-a.ts' ) ,
418
+ parser : require . resolve ( 'babel-eslint' ) ,
419
+ } ) ,
420
+ test ( {
421
+ code : 'import type { MyType } from "not-a-dependency";' ,
422
+ filename : testFilePath ( './no-unused-modules/typescript/file-ts-a.ts' ) ,
423
+ parser : require . resolve ( 'babel-eslint' ) ,
424
+ } ) ,
425
+ ] ,
426
+ invalid : [
427
+ ] ,
428
+ } ) ;
0 commit comments