-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy patheslint.config.js
70 lines (64 loc) · 1.8 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import importAliasPlugin from "@limegrass/eslint-plugin-import-alias";
import boundariesPlugin from "eslint-plugin-boundaries";
import importPlugin from "eslint-plugin-import";
import reactPlugin from "eslint-plugin-react";
import reactHooksPlugin from "eslint-plugin-react-hooks";
import reactRefreshPlugin from "eslint-plugin-react-refresh";
import unicornPlugin from "eslint-plugin-unicorn";
import globals from "globals";
import tseslint from "typescript-eslint";
import {
boundariesPluginSettings,
boundariesRules,
} from "./eslint/boundaries.js";
import { importPluginSettings, importRules } from "./eslint/imports.js";
import { miscRules } from "./eslint/misc.js";
import { reactPluginSettings, reactRules } from "./eslint/react.js";
import { typescriptConfig } from "./eslint/typescript.js";
const commonSettings = {
...reactPluginSettings,
...importPluginSettings,
...boundariesPluginSettings,
};
const commonPlugins = {
react: reactPlugin,
"react-hooks": reactHooksPlugin,
"react-refresh": reactRefreshPlugin,
unicorn: unicornPlugin,
import: importPlugin,
"@limegrass/import-alias": importAliasPlugin,
boundaries: boundariesPlugin,
};
const commonIgnores = [
"dist/**",
"node_modules/**",
"*.config.js",
"*.config.ts",
"gulpfile.js",
"src/manifest.chrome.ts",
"src/manifest.firefox.ts",
"src/manifest.base.ts",
];
const baseConfig = {
languageOptions: {
ecmaVersion: 2020,
sourceType: "module",
globals: {
...globals.browser,
...globals.es2020,
},
},
linterOptions: {
reportUnusedDisableDirectives: true,
},
ignores: commonIgnores,
settings: commonSettings,
plugins: commonPlugins,
rules: {
...reactRules,
...importRules,
...boundariesRules,
...miscRules,
},
};
export default tseslint.config(baseConfig, typescriptConfig);