Skip to content

Commit 357d1b4

Browse files
build(package): refactor eslint.config.mjs
1 parent 58e3753 commit 357d1b4

3 files changed

Lines changed: 55 additions & 33 deletions

File tree

eslint.config.mjs

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,40 @@
1-
import typescriptEslint from '@typescript-eslint/eslint-plugin';
1+
import { fileURLToPath } from 'node:url';
2+
3+
import { includeIgnoreFile } from '@eslint/compat';
4+
import eslint from '@eslint/js';
5+
import { defineConfig } from 'eslint/config';
26
import prettier from 'eslint-plugin-prettier';
37
import simpleImportSort from 'eslint-plugin-simple-import-sort';
48
import tsdoc from 'eslint-plugin-tsdoc';
59
import globals from 'globals';
6-
import tsParser from '@typescript-eslint/parser';
7-
import path from 'node:path';
8-
import { fileURLToPath } from 'node:url';
9-
import js from '@eslint/js';
10-
import { FlatCompat } from '@eslint/eslintrc';
11-
import { includeIgnoreFile } from '@eslint/compat';
12-
13-
const __filename = fileURLToPath(import.meta.url);
14-
const __dirname = path.dirname(__filename);
15-
const gitignorePath = path.resolve(__dirname, '.gitignore');
10+
import tseslint from 'typescript-eslint';
1611

17-
const compat = new FlatCompat({
18-
baseDirectory: __dirname,
19-
recommendedConfig: js.configs.recommended,
20-
allConfig: js.configs.all,
21-
});
12+
const gitignorePath = fileURLToPath(new URL('.gitignore', import.meta.url));
2213

23-
export default [
14+
export default defineConfig([
2415
includeIgnoreFile(gitignorePath),
16+
2517
{
2618
ignores: ['dist/'],
2719
},
2820

29-
...compat.extends(
30-
'eslint:recommended',
31-
'plugin:@typescript-eslint/recommended',
32-
),
33-
3421
{
35-
files: ['**/*.js', '**/*.ts'],
22+
files: ['**/*.{js,mjs,cjs,ts,mts,cts}'],
3623

3724
plugins: {
38-
'@typescript-eslint': typescriptEslint,
39-
prettier,
4025
'simple-import-sort': simpleImportSort,
26+
eslint,
27+
prettier,
4128
tsdoc,
4229
},
4330

31+
extends: ['eslint/recommended'],
32+
4433
languageOptions: {
4534
globals: {
4635
...globals.node,
4736
...globals.jest,
4837
},
49-
parser: tsParser,
5038
},
5139

5240
rules: {
@@ -60,4 +48,6 @@ export default [
6048
'tsdoc/syntax': 'error',
6149
},
6250
},
63-
];
51+
52+
tseslint.configs.recommended,
53+
]);

package-lock.json

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

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
"@eslint/js": "9.28.0",
2929
"@types/jest": "29.5.14",
3030
"@types/node": "22.15.30",
31-
"@typescript-eslint/eslint-plugin": "8.33.1",
32-
"@typescript-eslint/parser": "8.33.1",
3331
"@vercel/ncc": "0.38.3",
3432
"eslint": "9.28.0",
3533
"eslint-plugin-prettier": "5.4.1",
@@ -41,7 +39,8 @@
4139
"lint-staged": "16.1.0",
4240
"prettier": "3.5.3",
4341
"ts-jest": "29.3.4",
44-
"typescript": "5.8.3"
42+
"typescript": "5.8.3",
43+
"typescript-eslint": "8.33.1"
4544
},
4645
"private": true,
4746
"license": "MIT"

0 commit comments

Comments
 (0)