pstream is dead; long live pstream
taciturnaxolotl.github.io/pstream-ng/
1const a11yOff = Object.keys(require("eslint-plugin-jsx-a11y").rules).reduce(
2 (acc, rule) => {
3 acc[`jsx-a11y/${rule}`] = "off";
4 return acc;
5 },
6 {},
7);
8
9module.exports = {
10 env: {
11 browser: true,
12 },
13 extends: [
14 "airbnb",
15 "airbnb/hooks",
16 "plugin:@typescript-eslint/recommended",
17 "plugin:prettier/recommended",
18 ],
19 ignorePatterns: [
20 "public/*",
21 "dist/*",
22 "/*.js",
23 "/*.ts",
24 "/*.mts",
25 "/plugins/*.ts",
26 "/plugins/*.mjs",
27 "/themes/**/*.ts",
28 ],
29 parser: "@typescript-eslint/parser",
30 parserOptions: {
31 project: "./tsconfig.json",
32 tsconfigRootDir: "./",
33 },
34 settings: {
35 "import/resolver": {
36 typescript: {
37 project: "./tsconfig.json",
38 },
39 },
40 },
41 plugins: ["@typescript-eslint", "import", "prettier"],
42 rules: {
43 "react/jsx-uses-react": "off",
44 "react/react-in-jsx-scope": "off",
45 "react/require-default-props": "off",
46 "react/destructuring-assignment": "off",
47 "no-underscore-dangle": "off",
48 "@typescript-eslint/no-explicit-any": "off",
49 "no-console": ["warn", { allow: ["warn", "error", "debug", "info"] }],
50 "@typescript-eslint/no-this-alias": "off",
51 "import/prefer-default-export": "off",
52 "@typescript-eslint/no-empty-function": "off",
53 "no-shadow": "off",
54 "@typescript-eslint/no-shadow": ["error"],
55 "no-restricted-syntax": "off",
56 "import/no-unresolved": ["error", { ignore: ["^virtual:"] }],
57 "react/jsx-props-no-spreading": "off",
58 "consistent-return": "off",
59 "no-continue": "off",
60 "no-eval": "off",
61 "no-await-in-loop": "off",
62 "no-nested-ternary": "off",
63 "prefer-destructuring": "off",
64 "no-param-reassign": "off",
65 "@typescript-eslint/no-unused-vars": [
66 "warn",
67 { argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
68 ],
69 "react/jsx-filename-extension": [
70 "error",
71 { extensions: [".js", ".tsx", ".jsx"] },
72 ],
73 "import/extensions": [
74 "error",
75 "ignorePackages",
76 {
77 ts: "never",
78 tsx: "never",
79 },
80 ],
81 "import/order": [
82 "error",
83 {
84 groups: [
85 "builtin",
86 "external",
87 "internal",
88 ["sibling", "parent"],
89 "index",
90 "unknown",
91 ],
92 "newlines-between": "always",
93 alphabetize: {
94 order: "asc",
95 caseInsensitive: true,
96 },
97 },
98 ],
99 "sort-imports": [
100 "error",
101 {
102 ignoreCase: false,
103 ignoreDeclarationSort: true,
104 ignoreMemberSort: false,
105 memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
106 allowSeparatedGroups: true,
107 },
108 ],
109 ...a11yOff,
110 },
111};