Skip to content

Commit c68b4de

Browse files
committed
chore: handle different rule names depending on @typescript-eslint/eslint-plugin version
1 parent 69905c8 commit c68b4de

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

.eslintrc.js

+19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
11
'use strict';
22

3+
const {
4+
version: typescriptESLintPluginVersion,
5+
} = require('@typescript-eslint/eslint-plugin/package.json');
6+
const semver = require('semver');
37
const globals = require('./src/globals.json');
48

9+
const typescriptBanTypesRules = () => {
10+
if (semver.major(typescriptESLintPluginVersion) === 8) {
11+
return {
12+
'@typescript-eslint/no-empty-object-type': 'error',
13+
'@typescript-eslint/no-unsafe-function-type': 'error',
14+
'@typescript-eslint/no-wrapper-object-types': 'error',
15+
};
16+
}
17+
18+
return {
19+
'@typescript-eslint/ban-types': 'error',
20+
};
21+
};
22+
523
module.exports = {
624
parser: require.resolve('@typescript-eslint/parser'),
725
extends: [
@@ -30,6 +48,7 @@ module.exports = {
3048
'@typescript-eslint/array-type': ['error', { default: 'array-simple' }],
3149
'@typescript-eslint/no-require-imports': 'error',
3250
'@typescript-eslint/ban-ts-comment': 'error',
51+
...typescriptBanTypesRules(),
3352
'@typescript-eslint/ban-types': 'error',
3453
'@typescript-eslint/consistent-type-imports': [
3554
'error',

0 commit comments

Comments
 (0)