Skip to content

Commit 42bbed7

Browse files
committed
chore: migrate config to flat format with migrator
1 parent b6e2faf commit 42bbed7

File tree

9 files changed

+170
-8
lines changed

9 files changed

+170
-8
lines changed

.eslint-doc-generatorrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const prettier = require('prettier');
2+
23
const prettierConfig = require('./.prettierrc.js');
34

45
/** @type {import('eslint-doc-generator').GenerateOptions} */

.eslintignore

Lines changed: 0 additions & 2 deletions
This file was deleted.
File renamed without changes.

eslint.config.mjs

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// @ts-check
2+
3+
import { fixupConfigRules } from '@eslint/compat';
4+
import { FlatCompat } from '@eslint/eslintrc';
5+
import js from '@eslint/js';
6+
import { defineConfig, globalIgnores } from 'eslint/config';
7+
import globals from 'globals';
8+
import tseslint from 'typescript-eslint';
9+
10+
const compat = new FlatCompat({
11+
baseDirectory: import.meta.dirname,
12+
recommendedConfig: js.configs.recommended,
13+
});
14+
15+
const config = defineConfig(
16+
{
17+
languageOptions: {
18+
globals: {
19+
...globals.es2019,
20+
},
21+
},
22+
23+
extends: fixupConfigRules(
24+
compat.extends(
25+
'eslint:recommended',
26+
'plugin:import/recommended',
27+
'plugin:jest/recommended',
28+
'plugin:jest-formatting/recommended',
29+
'prettier'
30+
)
31+
),
32+
33+
rules: {
34+
'max-lines-per-function': 'off',
35+
36+
'import/order': [
37+
'warn',
38+
{
39+
groups: ['builtin', 'external', 'parent', 'sibling', 'index'],
40+
'newlines-between': 'always',
41+
42+
alphabetize: {
43+
order: 'asc',
44+
caseInsensitive: false,
45+
},
46+
},
47+
],
48+
49+
'import/first': 'error',
50+
'import/no-empty-named-blocks': 'error',
51+
'import/no-extraneous-dependencies': 'error',
52+
'import/no-mutable-exports': 'error',
53+
'import/no-named-default': 'error',
54+
'import/no-relative-packages': 'warn',
55+
},
56+
},
57+
{
58+
files: ['**/*.ts'],
59+
60+
languageOptions: {
61+
parser: tseslint.parser,
62+
parserOptions: {
63+
project: './tsconfig.eslint.json',
64+
tsconfigRootDir: import.meta.dirname,
65+
},
66+
},
67+
68+
extends: fixupConfigRules(
69+
compat.extends(
70+
'plugin:@typescript-eslint/recommended',
71+
'plugin:@typescript-eslint/recommended-type-checked',
72+
'plugin:import/typescript'
73+
)
74+
),
75+
76+
rules: {
77+
'@typescript-eslint/explicit-function-return-type': 'off',
78+
79+
'@typescript-eslint/no-unused-vars': [
80+
'warn',
81+
{
82+
argsIgnorePattern: '^_',
83+
},
84+
],
85+
86+
'@typescript-eslint/no-use-before-define': 'off',
87+
'import/default': 'off',
88+
'import/export': 'off',
89+
'import/namespace': 'off',
90+
'import/no-unresolved': 'off',
91+
},
92+
93+
settings: {
94+
'import/resolver': {
95+
node: {
96+
extensions: ['.js', '.ts'],
97+
},
98+
99+
typescript: {
100+
alwaysTryTypes: true,
101+
},
102+
},
103+
},
104+
},
105+
globalIgnores(['**/coverage/', '**/dist/'])
106+
);
107+
108+
export default config;

lib/create-testing-library-rule/detect-testing-library-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ export function detectTestingLibraryUtils<
490490
/**
491491
* Determines whether a given node is fireEvent method or not
492492
*/
493-
// eslint-disable-next-line complexity
493+
494494
const isFireEventMethod: IsFireEventMethodFn = (node) => {
495495
const fireEventUtil =
496496
findImportedTestingLibraryUtilSpecifier(FIRE_EVENT_NAME);
@@ -527,7 +527,7 @@ export function detectTestingLibraryUtils<
527527

528528
// we know it's defined at this point, but TS seems to think it is not
529529
// so here I'm enforcing it once in order to avoid using "!" operator every time
530-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
530+
531531
const definedParentMemberExpression = parentMemberExpression!;
532532

533533
// check fireEvent.click() usage

lib/node-utils/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ export function getVariableReferences(
301301
node: TSESTree.Node
302302
): TSESLint.Scope.Reference[] {
303303
if (ASTUtils.isVariableDeclarator(node)) {
304-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
304+
305305
return getDeclaredVariables(context, node)[0]?.references?.slice(1) ?? [];
306306
}
307307

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
"devDependencies": {
6060
"@commitlint/cli": "^19.6.0",
6161
"@commitlint/config-conventional": "^19.6.0",
62+
"@eslint/compat": "^1.3.2",
63+
"@eslint/eslintrc": "^3.3.1",
64+
"@eslint/js": "^9.35.0",
6265
"@swc/core": "^1.9.3",
6366
"@swc/jest": "^0.2.37",
6467
"@types/jest": "^29.5.14",
@@ -78,6 +81,7 @@
7881
"eslint-plugin-promise": "^7.1.0",
7982
"eslint-remote-tester": "^3.0.1",
8083
"eslint-remote-tester-repositories": "^1.0.1",
84+
"globals": "^16.3.0",
8185
"husky": "^9.1.7",
8286
"is-ci": "^3.0.1",
8387
"jest": "^29.7.0",
@@ -86,7 +90,8 @@
8690
"semantic-release": "^24.2.0",
8791
"semver": "^7.6.3",
8892
"ts-node": "^10.9.2",
89-
"typescript": "^5.7.2"
93+
"typescript": "^5.7.2",
94+
"typescript-eslint": "^8.43.0"
9095
},
9196
"peerDependencies": {
9297
"eslint": "^8.57.0 || ^9.0.0"

pnpm-lock.yaml

Lines changed: 52 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/eslint-remote-tester.config.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
/* eslint-disable @typescript-eslint/no-require-imports */
2-
/* eslint-disable import/no-extraneous-dependencies */
31
const { rules } = require('eslint-plugin-testing-library');
42
const {
53
getRepositories,

0 commit comments

Comments
 (0)