Skip to content

Commit 554c000

Browse files
committed
feat: support ESLint 8.x
1 parent fac5e4b commit 554c000

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+131
-245
lines changed

.eslintrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ module.exports = {
3434
'@typescript-eslint/ban-types': 'error',
3535
'@typescript-eslint/no-unused-vars': 'error',
3636
'eslint-comments/no-unused-disable': 'error',
37+
'eslint-plugin/require-meta-fixable': [
38+
'error',
39+
{ catchNoFixerButFixableProperty: true },
40+
],
41+
'eslint-plugin/require-meta-has-suggestions': 'error',
3742
'eslint-plugin/test-case-property-ordering': 'error',
3843
'no-else-return': 'error',
3944
'no-negated-condition': 'error',

.github/workflows/nodejs.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
- uses: actions/setup-node@v2
2222
with:
23-
node-version: 14.x
23+
node-version: 16
2424
cache: yarn
2525

2626
- name: Validate cache
@@ -38,7 +38,7 @@ jobs:
3838
- uses: actions/checkout@v2
3939
- uses: actions/setup-node@v2
4040
with:
41-
node-version: 14.x
41+
node-version: 16
4242
cache: yarn
4343
- name: install
4444
run: yarn
@@ -52,7 +52,7 @@ jobs:
5252
- uses: actions/checkout@v2
5353
- uses: actions/setup-node@v2
5454
with:
55-
node-version: 14.x
55+
node-version: 16
5656
cache: yarn
5757
- name: install
5858
run: yarn
@@ -67,8 +67,8 @@ jobs:
6767
strategy:
6868
fail-fast: false
6969
matrix:
70-
node-version: [12.x, 14.x, 16.x]
71-
eslint-version: [6, 7]
70+
node-version: [12, 14, 16]
71+
eslint-version: [6, 7, 8]
7272
ts-eslint-plugin-version: [4, 5]
7373
runs-on: ubuntu-latest
7474

@@ -104,7 +104,7 @@ jobs:
104104
- uses: actions/checkout@v2
105105
- uses: actions/setup-node@v2
106106
with:
107-
node-version: 14.x
107+
node-version: 16
108108
cache: yarn
109109
- name: install
110110
run: yarn
@@ -123,7 +123,7 @@ jobs:
123123
- uses: actions/checkout@v2
124124
- uses: actions/setup-node@v2
125125
with:
126-
node-version: 14.x
126+
node-version: 16
127127
cache: yarn
128128
- name: install
129129
run: yarn
@@ -146,7 +146,7 @@ jobs:
146146
- uses: actions/checkout@v2
147147
- uses: actions/setup-node@v2
148148
with:
149-
node-version: 14.x
149+
node-version: 16
150150
cache: yarn
151151
- name: install
152152
run: yarn

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@
100100
"babel-jest": "^27.0.0",
101101
"babel-plugin-replace-ts-export-assignment": "^0.0.2",
102102
"dedent": "^0.7.0",
103-
"eslint": "^6.0.0 || ^7.0.0",
103+
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0-0",
104104
"eslint-config-prettier": "^8.3.0",
105-
"eslint-plugin-eslint-comments": "^3.1.2",
105+
"eslint-plugin-eslint-comments": "^3.2.0",
106106
"eslint-plugin-eslint-config": "^2.0.0",
107-
"eslint-plugin-eslint-plugin": "^3.5.3",
108-
"eslint-plugin-import": "^2.20.2",
109-
"eslint-plugin-node": "^11.0.0",
110-
"eslint-plugin-prettier": "^3.4.1",
107+
"eslint-plugin-eslint-plugin": "^4.0.0-0",
108+
"eslint-plugin-import": "^2.24.2",
109+
"eslint-plugin-node": "^11.1.0",
110+
"eslint-plugin-prettier": "^4.0.0",
111111
"husky": "^7.0.2",
112112
"is-ci": "^3.0.0",
113113
"jest": "^27.0.0",
@@ -124,7 +124,7 @@
124124
},
125125
"peerDependencies": {
126126
"@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0",
127-
"eslint": "^6.0.0 || ^7.0.0"
127+
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
128128
},
129129
"peerDependenciesMeta": {
130130
"@typescript-eslint/eslint-plugin": {

src/index.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,6 @@ type RuleModule = TSESLint.RuleModule<string, unknown[]> & {
88
meta: Required<Pick<TSESLint.RuleMetaData<string>, 'docs'>>;
99
};
1010

11-
// v5 of `@typescript-eslint/experimental-utils` removed this
12-
declare module '@typescript-eslint/experimental-utils/dist/ts-eslint/Rule' {
13-
export interface RuleMetaDataDocs {
14-
category: 'Best Practices' | 'Possible Errors';
15-
}
16-
}
17-
1811
// copied from https://github.com/babel/babel/blob/d8da63c929f2d28c401571e2a43166678c555bc4/packages/babel-helpers/src/helpers.js#L602-L606
1912
/* istanbul ignore next */
2013
const interopRequireDefault = (obj: any): { default: any } =>

src/rules/__tests__/utils.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ const rule = createRule({
1818
name: __filename,
1919
meta: {
2020
docs: {
21-
category: 'Possible Errors',
2221
description: 'Fake rule for testing AST guards',
2322
recommended: false,
2423
},

src/rules/consistent-test-it.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ export default createRule<
3939
name: __filename,
4040
meta: {
4141
docs: {
42-
category: 'Best Practices',
4342
description: 'Have control over `test` and `it` usages',
4443
recommended: false,
4544
},

src/rules/expect-expect.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ export default createRule<
4747
name: __filename,
4848
meta: {
4949
docs: {
50-
category: 'Best Practices',
5150
description: 'Enforce assertion to be made in a test body',
5251
recommended: 'warn',
5352
},

src/rules/max-nested-describe.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export default createRule({
88
name: __filename,
99
meta: {
1010
docs: {
11-
category: 'Best Practices',
1211
description: 'Enforces a maximum depth to nested describe calls',
1312
recommended: false,
1413
},

src/rules/no-alias-methods.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export default createRule({
44
name: __filename,
55
meta: {
66
docs: {
7-
category: 'Best Practices',
87
description: 'Disallow alias methods',
98
recommended: false,
109
},

src/rules/no-commented-out-tests.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default createRule({
1111
name: __filename,
1212
meta: {
1313
docs: {
14-
category: 'Best Practices',
1514
description: 'Disallow commented out tests',
1615
recommended: 'warn',
1716
},

src/rules/no-conditional-expect.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export default createRule({
2222
meta: {
2323
docs: {
2424
description: 'Prevent calling `expect` conditionally',
25-
category: 'Best Practices',
2625
recommended: 'error',
2726
},
2827
messages: {

src/rules/no-deprecated-functions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ export default createRule({
2727
name: __filename,
2828
meta: {
2929
docs: {
30-
category: 'Best Practices',
3130
description: 'Disallow use of deprecated functions',
3231
recommended: 'error',
3332
},

src/rules/no-disabled-tests.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export default createRule({
44
name: __filename,
55
meta: {
66
docs: {
7-
category: 'Best Practices',
87
description: 'Disallow disabled tests',
98
recommended: 'warn',
109
},

src/rules/no-done-callback.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ export default createRule({
3333
name: __filename,
3434
meta: {
3535
docs: {
36-
category: 'Best Practices',
3736
description: 'Avoid using a callback in asynchronous tests and hooks',
3837
recommended: 'error',
3938
suggestion: true,

src/rules/no-duplicate-hooks.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default createRule({
1111
name: __filename,
1212
meta: {
1313
docs: {
14-
category: 'Best Practices',
1514
description: 'Disallow duplicate setup and teardown hooks',
1615
recommended: false,
1716
},

src/rules/no-export.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export default createRule({
88
name: __filename,
99
meta: {
1010
docs: {
11-
category: 'Best Practices',
1211
description: 'Disallow using `exports` in files containing tests',
1312
recommended: 'error',
1413
},

src/rules/no-focused-tests.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export default createRule({
3838
name: __filename,
3939
meta: {
4040
docs: {
41-
category: 'Best Practices',
4241
description: 'Disallow focused tests',
4342
recommended: 'error',
4443
suggestion: true,

src/rules/no-hooks.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export default createRule<
77
name: __filename,
88
meta: {
99
docs: {
10-
category: 'Best Practices',
1110
description: 'Disallow setup and teardown hooks',
1211
recommended: false,
1312
},

src/rules/no-identical-title.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ export default createRule({
2121
name: __filename,
2222
meta: {
2323
docs: {
24-
category: 'Best Practices',
2524
description: 'Disallow identical titles',
2625
recommended: 'error',
2726
},

src/rules/no-if.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ export default createRule({
4141
meta: {
4242
docs: {
4343
description: 'Disallow conditional logic',
44-
category: 'Best Practices',
4544
recommended: false,
4645
},
4746
messages: {

src/rules/no-interpolation-in-snapshots.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ export default createRule({
55
name: __filename,
66
meta: {
77
docs: {
8-
category: 'Best Practices',
98
description: 'Disallow string interpolation inside snapshots',
109
recommended: 'error',
1110
},

src/rules/no-jasmine-globals.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export default createRule({
1010
name: __filename,
1111
meta: {
1212
docs: {
13-
category: 'Best Practices',
1413
description: 'Disallow Jasmine globals',
1514
recommended: 'error',
1615
},

src/rules/no-jest-import.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export default createRule({
77
type: 'problem',
88
docs: {
99
description: 'Disallow importing Jest',
10-
category: 'Best Practices',
1110
recommended: 'error',
1211
},
1312
messages: {

src/rules/no-large-snapshots.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ export default createRule<[RuleOptions], MessageId>({
7575
name: __filename,
7676
meta: {
7777
docs: {
78-
category: 'Best Practices',
7978
description: 'disallow large snapshots',
8079
recommended: false,
8180
},

src/rules/no-mocks-import.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ export default createRule({
1717
meta: {
1818
type: 'problem',
1919
docs: {
20-
category: 'Best Practices',
2120
description: 'Disallow manually importing from `__mocks__`',
2221
recommended: 'error',
2322
},

src/rules/no-restricted-matchers.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export default createRule<
77
name: __filename,
88
meta: {
99
docs: {
10-
category: 'Best Practices',
1110
description: 'Disallow specific matchers & modifiers',
1211
recommended: false,
1312
},

src/rules/no-standalone-expect.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ export default createRule<
5555
name: __filename,
5656
meta: {
5757
docs: {
58-
category: 'Best Practices',
5958
description: 'Disallow using `expect` outside of `it` or `test` blocks',
6059
recommended: 'error',
6160
},

src/rules/no-test-prefixes.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export default createRule({
1010
name: __filename,
1111
meta: {
1212
docs: {
13-
category: 'Best Practices',
1413
description: 'Use `.only` and `.skip` over `f` and `x`',
1514
recommended: 'error',
1615
},

src/rules/no-test-return-statement.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ export default createRule({
2727
name: __filename,
2828
meta: {
2929
docs: {
30-
category: 'Best Practices',
3130
description: 'Disallow explicitly returning from tests',
3231
recommended: false,
3332
},

src/rules/prefer-called-with.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export default createRule({
44
name: __filename,
55
meta: {
66
docs: {
7-
category: 'Best Practices',
87
description:
98
'Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`',
109
recommended: false,

src/rules/prefer-expect-assertions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ export default createRule<[RuleOptions], MessageIds>({
6464
name: __filename,
6565
meta: {
6666
docs: {
67-
category: 'Best Practices',
6867
description:
6968
'Suggest using `expect.assertions()` OR `expect.hasAssertions()`',
7069
recommended: false,

src/rules/prefer-expect-resolves.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export default createRule({
88
name: __filename,
99
meta: {
1010
docs: {
11-
category: 'Best Practices',
1211
description:
1312
'Prefer `await expect(...).resolves` over `expect(await ...)` syntax',
1413
recommended: false,

src/rules/prefer-hooks-on-top.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ export default createRule({
44
name: __filename,
55
meta: {
66
docs: {
7-
category: 'Best Practices',
87
description: 'Suggest having hooks before any test cases',
98
recommended: false,
109
},

src/rules/prefer-lowercase-title.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ export default createRule<
6767
type: 'suggestion',
6868
docs: {
6969
description: 'Enforce lowercase test names',
70-
category: 'Best Practices',
7170
recommended: false,
7271
},
7372
fixable: 'code',

src/rules/prefer-spy-on.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ export default createRule({
4646
name: __filename,
4747
meta: {
4848
docs: {
49-
category: 'Best Practices',
5049
description: 'Suggest using `jest.spyOn()`',
5150
recommended: false,
5251
},

src/rules/prefer-strict-equal.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export default createRule({
1010
name: __filename,
1111
meta: {
1212
docs: {
13-
category: 'Best Practices',
1413
description: 'Suggest using `toStrictEqual()`',
1514
recommended: false,
1615
suggestion: true,
@@ -20,6 +19,7 @@ export default createRule({
2019
suggestReplaceWithStrictEqual: 'Replace with `toStrictEqual()`',
2120
},
2221
type: 'suggestion',
22+
hasSuggestions: true,
2323
schema: [],
2424
hasSuggestions: true,
2525
},

src/rules/prefer-to-be.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ export default createRule({
9292
name: __filename,
9393
meta: {
9494
docs: {
95-
category: 'Best Practices',
9695
description: 'Suggest using `toBe()` for primitive literals',
9796
recommended: false,
9897
},

0 commit comments

Comments
 (0)