Skip to content

Commit cec9a88

Browse files
committed
Type-only imports were added in TypeScript 3.8
1 parent 95bd584 commit cec9a88

File tree

6 files changed

+30
-52
lines changed

6 files changed

+30
-52
lines changed

tests/src/rules/first.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ ruleTester.run('first', rule, {
8080

8181
context('TypeScript', function () {
8282
getTSParsers()
83-
.filter((parser) => parser !== require.resolve('typescript-eslint-parser'))
8483
.forEach((parser) => {
8584
const parserConfig = {
8685
parser,

tests/src/rules/max-dependencies.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test, getTSParsers } from '../utils';
22

33
import { RuleTester } from 'eslint';
4-
import eslintPkg from 'eslint/package.json';
4+
import tsPkg from 'typescript/package.json';
55
import semver from 'semver';
66

77
const ruleTester = new RuleTester();
@@ -91,7 +91,7 @@ ruleTester.run('max-dependencies', rule, {
9191
],
9292
});
9393

94-
(semver.satisfies(eslintPkg.version, '>5.0.0') ? describe.skip : describe)('TypeScript', () => {
94+
(semver.satisfies(tsPkg.version, '>=3.8') ? describe.skip : describe)('TypeScript', () => {
9595
getTSParsers().forEach((parser) => {
9696
ruleTester.run(`max-dependencies (${parser.replace(process.cwd(), '.')})`, rule, {
9797
valid: [

tests/src/rules/no-duplicates.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { test as testUtil, getNonDefaultParsers } from '../utils';
44
import { RuleTester } from 'eslint';
55
import eslintPkg from 'eslint/package.json';
66
import semver from 'semver';
7+
import tsPkg from 'typescript/package.json';
78

89
const ruleTester = new RuleTester();
910
const rule = require('rules/no-duplicates');
@@ -415,9 +416,8 @@ import {x,y} from './foo'
415416
],
416417
});
417418

418-
context('TypeScript', function () {
419+
(semver.satisfies(tsPkg.version, '>=3.8') ? describe.skip : describe)('TypeScript', () => {
419420
getNonDefaultParsers()
420-
.filter((parser) => parser !== require.resolve('typescript-eslint-parser'))
421421
.forEach((parser) => {
422422
const parserConfig = {
423423
parser,

tests/src/rules/no-extraneous-dependencies.js

Lines changed: 20 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import typescriptConfig from '../../../config/typescript';
33
import path from 'path';
44
import fs from 'fs';
55
import semver from 'semver';
6-
import eslintPkg from 'eslint/package.json';
6+
import tsPkg from 'typescript/package.json';
77

88
import { RuleTester } from 'eslint';
99
import flatMap from 'array.prototype.flatmap';
@@ -380,8 +380,7 @@ ruleTester.run('no-extraneous-dependencies', rule, {
380380
],
381381
});
382382

383-
// TODO: figure out why these tests fail in eslint 4
384-
(semver.satisfies(eslintPkg.version, '^4') ? describe.skip : describe)('TypeScript', () => {
383+
(semver.satisfies(tsPkg.version, '>=3.8') ? describe.skip : describe)('TypeScript', () => {
385384
getTSParsers().forEach((parser) => {
386385
const parserConfig = {
387386
parser,
@@ -391,49 +390,27 @@ ruleTester.run('no-extraneous-dependencies', rule, {
391390
},
392391
};
393392

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+
});
433410
});
434411
});
435412

436-
if (semver.satisfies(eslintPkg.version, '>5.0.0')) {
413+
if (false && semver.satisfies(tsPkg.version, '>=3.8')) {
437414
typescriptRuleTester.run('no-extraneous-dependencies typescript type imports', rule, {
438415
valid: [
439416
test({

tests/src/rules/no-unresolved.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { getTSParsers, test, SYNTAX_CASES, testVersion } from '../utils';
55
import { CASE_SENSITIVE_FS } from 'eslint-module-utils/resolve';
66

77
import { RuleTester } from 'eslint';
8+
import semver from 'semver';
9+
import tsPkg from 'typescript/package.json';
810

911
const ruleTester = new RuleTester();
1012
const rule = require('rules/no-unresolved');
@@ -442,8 +444,8 @@ ruleTester.run('import() with built-in parser', rule, {
442444
),
443445
});
444446

445-
context('TypeScript', () => {
446-
getTSParsers().filter(x => x !== require.resolve('typescript-eslint-parser')).forEach((parser) => {
447+
(semver.satisfies(tsPkg.version, '>=3.8') ? describe.skip : describe)('TypeScript', () => {
448+
getTSParsers().forEach((parser) => {
447449
ruleTester.run(`${parser}: no-unresolved ignore type-only`, rule, {
448450
valid: [
449451
test({

tests/src/rules/order.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { test, getTSParsers, getNonDefaultParsers } from '../utils';
33
import { RuleTester } from 'eslint';
44
import eslintPkg from 'eslint/package.json';
55
import semver from 'semver';
6+
import tsPkg from 'typescript/package.json';
67
import flatMap from 'array.prototype.flatmap';
78

89
const ruleTester = new RuleTester();
@@ -2281,9 +2282,8 @@ ruleTester.run('order', rule, {
22812282
});
22822283

22832284

2284-
context('TypeScript', function () {
2285+
(semver.satisfies(tsPkg.version, '>=3.8') ? describe.skip : describe)('TypeScript', () => {
22852286
getNonDefaultParsers()
2286-
.filter((parser) => parser !== require.resolve('typescript-eslint-parser'))
22872287
.forEach((parser) => {
22882288
const parserConfig = {
22892289
parser,

0 commit comments

Comments
 (0)