-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugins.js
64 lines (59 loc) · 2.01 KB
/
plugins.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
/* eslint-disable object-shorthand -- const types */
/* eslint-disable import-x/no-rename-default -- bad export names */
/* eslint-disable import-x/max-dependencies -- collection file */
// import github from "eslint-plugin-github";
// import jsxA11y from "eslint-plugin-jsx-a11y";
// import noUnsanitized from "eslint-plugin-no-unsanitized";
import eslintComments from "@eslint-community/eslint-plugin-eslint-comments";
import react from "@eslint-react/eslint-plugin";
import stylistic from "@stylistic/eslint-plugin";
import depend from "eslint-plugin-depend";
import disableAutofix from "eslint-plugin-disable-autofix";
import funcParamsArgs from "eslint-plugin-func-params-args";
import importX from "eslint-plugin-import-x";
import jsdoc from "eslint-plugin-jsdoc";
import noSecrets from "eslint-plugin-no-secrets";
import perfectionist from "eslint-plugin-perfectionist";
import promise from "eslint-plugin-promise";
import redos from "eslint-plugin-redos";
import regexp from "eslint-plugin-regexp";
import security from "eslint-plugin-security";
import sonarjs from "eslint-plugin-sonarjs";
import tailwindcss from "eslint-plugin-tailwindcss";
import unicorn from "eslint-plugin-unicorn";
/**
* @import { Linter, ESLint } from "eslint"
*/
const reactPlugins = /** @type {Record<string, ESLint.Plugin>} */ (
/** @type {unknown} */ (react.configs.all.plugins)
);
/**
* @satisfies { Linter.Config["plugins"] }
*/
const plugins = /** @type {const} */ ({
// github,
// "jsx-a11y": jsxA11y,
// "no-unsanitized": noUnsanitized,
"@eslint-community/eslint-comments": eslintComments,
"@stylistic": /** @type {ESLint.Plugin} */ (stylistic),
depend,
"disable-autofix": disableAutofix,
"func-params-args": funcParamsArgs,
"import-x": /** @type {ESLint.Plugin} */ (
/** @type {unknown} */ (importX)
),
jsdoc,
"no-secrets": noSecrets,
perfectionist: /** @type {ESLint.Plugin} */ (
/** @type {unknown} */ (perfectionist)
),
promise,
redos,
regexp,
security,
sonarjs,
tailwindcss,
unicorn,
...reactPlugins
});
export default plugins;