@ethang/eslint-config 19.4.6 → 19.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/build/create-config-file.ts +51 -0
- package/build/{create-config.js → create-config.ts} +13 -3
- package/build/{get-react-version.js → get-react-version.ts} +1 -1
- package/build/{list-utils.mjs → list-utils.ts} +21 -26
- package/build/{rule-list.mjs → rule-list.ts} +97 -87
- package/build/{update-readme.js → update-readme.ts} +29 -13
- package/build/{update-rules.js → update-rules.ts} +29 -20
- package/build.mjs +2 -2
- package/config.solid.js +0 -1
- package/eslint.config.js +3 -47
- package/package.json +7 -1
- package/setup/a11y.ts +13 -0
- package/setup/astro.ts +13 -0
- package/setup/barrel.ts +13 -0
- package/setup/compat.ts +12 -0
- package/setup/cspell.ts +13 -0
- package/setup/depend.ts +13 -0
- package/setup/{deprecated.js → deprecated.ts} +2 -2
- package/setup/eslint.ts +233 -0
- package/setup/{ethang.js → ethang.ts} +2 -1
- package/setup/gen-rules.ts +60 -0
- package/setup/json.ts +15 -0
- package/setup/lodash.ts +50 -0
- package/setup/markdown.ts +12 -0
- package/setup/n.ts +85 -0
- package/setup/{perfectionist.js → perfectionist.ts} +4 -2
- package/setup/react.ts +63 -0
- package/setup/solid.ts +15 -0
- package/setup/{sonar.js → sonar.ts} +2 -20
- package/setup/{stylistic.js → stylistic.ts} +3 -3
- package/setup/{tailwind.js → tailwind.ts} +2 -2
- package/setup/tanstack-query.ts +7 -0
- package/setup/{typescript-eslint.js → typescript-eslint.ts} +6 -26
- package/setup/unicorn.ts +37 -0
- package/tsconfig.json +5 -1
- package/build/create-config-file.js +0 -45
- package/setup/a11y.js +0 -25
- package/setup/astro.js +0 -7
- package/setup/barrel.js +0 -9
- package/setup/compat.js +0 -10
- package/setup/depend.js +0 -11
- package/setup/eslint.js +0 -71
- package/setup/gen-rules.js +0 -39
- package/setup/json.js +0 -7
- package/setup/lodash.js +0 -19
- package/setup/markdown.js +0 -7
- package/setup/n.js +0 -31
- package/setup/react.js +0 -35
- package/setup/solid.js +0 -10
- package/setup/tanstack-query.js +0 -7
- package/setup/unicorn.js +0 -32
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import tseslint from "typescript-eslint";
|
|
2
2
|
|
|
3
|
-
import { genRules } from "./gen-rules.
|
|
3
|
+
import { EsLintRules, genRules, getNonDeprecatedRules } from "./gen-rules.ts";
|
|
4
4
|
|
|
5
|
-
const ruleNames = Object.keys(
|
|
5
|
+
const ruleNames = Object.keys(
|
|
6
|
+
getNonDeprecatedRules(
|
|
7
|
+
(tseslint.plugin.rules ?? {}) as unknown as EsLintRules,
|
|
8
|
+
),
|
|
9
|
+
);
|
|
6
10
|
const customRules = [
|
|
7
11
|
{
|
|
8
12
|
name: "adjacent-overload-signatures",
|
|
@@ -48,18 +52,10 @@ const customRules = [
|
|
|
48
52
|
name: "no-dupe-class-members",
|
|
49
53
|
rule: "off",
|
|
50
54
|
},
|
|
51
|
-
{
|
|
52
|
-
name: "no-empty-interface",
|
|
53
|
-
rule: "off",
|
|
54
|
-
},
|
|
55
55
|
{
|
|
56
56
|
name: "no-invalid-this",
|
|
57
57
|
rule: "off",
|
|
58
58
|
},
|
|
59
|
-
{
|
|
60
|
-
name: "no-loss-of-precision",
|
|
61
|
-
rule: "off",
|
|
62
|
-
},
|
|
63
59
|
{
|
|
64
60
|
name: "no-magic-numbers",
|
|
65
61
|
rule: "off",
|
|
@@ -68,18 +64,10 @@ const customRules = [
|
|
|
68
64
|
name: "no-redeclare",
|
|
69
65
|
rule: "off",
|
|
70
66
|
},
|
|
71
|
-
{
|
|
72
|
-
name: "no-type-alias",
|
|
73
|
-
rule: "off",
|
|
74
|
-
},
|
|
75
67
|
{
|
|
76
68
|
name: "no-use-before-define",
|
|
77
69
|
rule: "off",
|
|
78
70
|
},
|
|
79
|
-
{
|
|
80
|
-
name: "no-var-requires",
|
|
81
|
-
rule: "off",
|
|
82
|
-
},
|
|
83
71
|
{
|
|
84
72
|
name: "parameter-properties",
|
|
85
73
|
rule: "off",
|
|
@@ -88,14 +76,6 @@ const customRules = [
|
|
|
88
76
|
name: "prefer-readonly-parameter-types",
|
|
89
77
|
rule: "off",
|
|
90
78
|
},
|
|
91
|
-
{
|
|
92
|
-
name: "prefer-ts-expect-error",
|
|
93
|
-
rule: "off",
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: "sort-type-constituents",
|
|
97
|
-
rule: "off",
|
|
98
|
-
},
|
|
99
79
|
{
|
|
100
80
|
name: "typedef",
|
|
101
81
|
rule: "off",
|
package/setup/unicorn.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import unicorn from "eslint-plugin-unicorn";
|
|
2
|
+
|
|
3
|
+
import { genRules, getNonDeprecatedRules } from "./gen-rules.ts";
|
|
4
|
+
|
|
5
|
+
const ruleNames = Object.keys(getNonDeprecatedRules(unicorn.rules ?? {}));
|
|
6
|
+
const customRules = [
|
|
7
|
+
{
|
|
8
|
+
name: "empty-brace-spaces",
|
|
9
|
+
rule: "off",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "explicit-length-check",
|
|
13
|
+
rule: "off",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "no-keyword-prefix",
|
|
17
|
+
rule: "off",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "no-nested-ternary",
|
|
21
|
+
rule: "off",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "no-null",
|
|
25
|
+
rule: "off",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "number-literal-case",
|
|
29
|
+
rule: "off",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "template-indent",
|
|
33
|
+
rule: "off",
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
export const unicornRules = genRules(ruleNames, customRules, "unicorn");
|
package/tsconfig.json
CHANGED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { getTypeImportStrings } from "./list-utils.mjs";
|
|
2
|
-
import { createConfig } from "./create-config.js";
|
|
3
|
-
import { writeFileSync } from "node:fs";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
|
|
6
|
-
export const createConfigFile = async (listConfigs, fileName) => {
|
|
7
|
-
let configFile = "";
|
|
8
|
-
|
|
9
|
-
const imports = listConfigs
|
|
10
|
-
.map((list) => {
|
|
11
|
-
const importStrings = getTypeImportStrings(list.name);
|
|
12
|
-
|
|
13
|
-
if (list.options?.extraImports?.length > 0) {
|
|
14
|
-
importStrings.push(...list.options.extraImports);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return importStrings;
|
|
18
|
-
})
|
|
19
|
-
.flat();
|
|
20
|
-
|
|
21
|
-
const importList = [
|
|
22
|
-
'import { ignores, languageOptions } from "./constants.js";',
|
|
23
|
-
...imports,
|
|
24
|
-
].sort((a, b) => a.localeCompare(b));
|
|
25
|
-
|
|
26
|
-
importList.forEach((item) => {
|
|
27
|
-
configFile += `${item}\n`;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
const configs = await Promise.all(
|
|
31
|
-
listConfigs.map((list) => {
|
|
32
|
-
return createConfig(list.name, list.options);
|
|
33
|
-
}),
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
configFile += `\nexport default tseslint.config(
|
|
37
|
-
${configs.join("\n")}
|
|
38
|
-
);\n`;
|
|
39
|
-
|
|
40
|
-
writeFileSync(
|
|
41
|
-
join(import.meta.dirname, `../${fileName}`),
|
|
42
|
-
configFile,
|
|
43
|
-
"utf8",
|
|
44
|
-
);
|
|
45
|
-
};
|
package/setup/a11y.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import a11y from "eslint-plugin-jsx-a11y";
|
|
2
|
-
|
|
3
|
-
import { genRules } from "./gen-rules.js";
|
|
4
|
-
|
|
5
|
-
const ruleNames = Object.keys(a11y.rules);
|
|
6
|
-
const customRules = [
|
|
7
|
-
{
|
|
8
|
-
name: "accessible-emoji",
|
|
9
|
-
rule: "off",
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
name: "label-has-for",
|
|
13
|
-
rule: "off",
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "media-has-caption",
|
|
17
|
-
rule: "off",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: "no-onchange",
|
|
21
|
-
rule: "off",
|
|
22
|
-
},
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
export const a11yRules = genRules(ruleNames, customRules, "a11y");
|
package/setup/astro.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import astro from "eslint-plugin-astro";
|
|
2
|
-
import { genRules } from "./gen-rules.js";
|
|
3
|
-
|
|
4
|
-
const ruleNames = Object.keys(astro.rules);
|
|
5
|
-
const customRules = [{ name: "no-set-html-directive", rule: 'off"' }];
|
|
6
|
-
|
|
7
|
-
export const astroRules = genRules(ruleNames, customRules, "astro");
|
package/setup/barrel.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/no-abusive-eslint-disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
import barrel from "eslint-plugin-barrel-files";
|
|
4
|
-
import { genRules } from "./gen-rules.js";
|
|
5
|
-
|
|
6
|
-
const ruleNames = Object.keys(barrel.rules);
|
|
7
|
-
const customRules = [];
|
|
8
|
-
|
|
9
|
-
export const barrelRules = genRules(ruleNames, customRules, "barrel");
|
package/setup/compat.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/no-abusive-eslint-disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
import compat from "eslint-plugin-compat";
|
|
4
|
-
|
|
5
|
-
import { genRules } from "./gen-rules.js";
|
|
6
|
-
|
|
7
|
-
const ruleNames = Object.keys(compat.rules);
|
|
8
|
-
const changedRules = [];
|
|
9
|
-
|
|
10
|
-
export const compatRules = genRules(ruleNames, changedRules, "compat");
|
package/setup/depend.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/no-abusive-eslint-disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
import depend from "eslint-plugin-depend";
|
|
4
|
-
import { genRules } from "./gen-rules.js";
|
|
5
|
-
|
|
6
|
-
const ruleNames = Object.keys(depend.rules);
|
|
7
|
-
const changedRules = [
|
|
8
|
-
{ name: "ban-dependencies", rule: ["error", { allowed: ["lodash"] }] },
|
|
9
|
-
];
|
|
10
|
-
|
|
11
|
-
export const dependRules = genRules(ruleNames, changedRules, "depend");
|
package/setup/eslint.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import eslint from "@eslint/js";
|
|
3
|
-
import { genRules } from "./gen-rules.js";
|
|
4
|
-
|
|
5
|
-
const ruleNames = Object.keys(eslint.configs.all.rules);
|
|
6
|
-
const changedRules = [
|
|
7
|
-
{ name: "arrow-body-style", rule: ["error", "always"] },
|
|
8
|
-
{ name: "camelcase", rule: "off" },
|
|
9
|
-
{ name: "capitalized-comments", rule: "off" },
|
|
10
|
-
{ name: "class-methods-use-this", rule: "off" },
|
|
11
|
-
{ name: "complexity", rule: "off" },
|
|
12
|
-
{ name: "consistent-return", rule: "off" },
|
|
13
|
-
{ name: "consistent-this", rule: "off" },
|
|
14
|
-
{ name: "curly", rule: "off" },
|
|
15
|
-
{ name: "default-case", rule: "off" },
|
|
16
|
-
{ name: "default-case-last", rule: "off" },
|
|
17
|
-
{ name: "default-param-last", rule: "off" },
|
|
18
|
-
{ name: "dot-notation", rule: "off" },
|
|
19
|
-
{ name: "func-names", rule: "off" },
|
|
20
|
-
{
|
|
21
|
-
name: "func-style",
|
|
22
|
-
rule: ["error", "declaration", { allowArrowFunctions: true }],
|
|
23
|
-
},
|
|
24
|
-
{ name: "id-denylist", rule: "off" },
|
|
25
|
-
{ name: "id-length", rule: "off" },
|
|
26
|
-
{ name: "id-match", rule: "off" },
|
|
27
|
-
{ name: "init-declarations", rule: "off" },
|
|
28
|
-
{ name: "max-lines", rule: "off" },
|
|
29
|
-
{ name: "max-lines-per-function", rule: "off" },
|
|
30
|
-
{ name: "max-params", rule: "off" },
|
|
31
|
-
{ name: "new-cap", rule: "off" },
|
|
32
|
-
{ name: "no-array-constructor", rule: "off" },
|
|
33
|
-
{ name: "no-empty-function", rule: "off" },
|
|
34
|
-
{ name: "no-implicit-globals", rule: "off" },
|
|
35
|
-
{ name: "no-implied-eval", rule: "off" },
|
|
36
|
-
{ name: "no-inline-comments", rule: "off" },
|
|
37
|
-
{ name: "no-magic-numbers", rule: "off" },
|
|
38
|
-
{ name: "no-redeclare", rule: "off" },
|
|
39
|
-
{ name: "no-restricted-exports", rule: "off" },
|
|
40
|
-
{ name: "no-restricted-globals", rule: "off" },
|
|
41
|
-
{ name: "no-restricted-imports", rule: "off" },
|
|
42
|
-
{ name: "no-restricted-properties", rule: "off" },
|
|
43
|
-
{ name: "no-restricted-syntax", rule: "off" },
|
|
44
|
-
{ name: "no-shadow", rule: "off" },
|
|
45
|
-
{ name: "no-template-curly-in-string", rule: "off" },
|
|
46
|
-
{ name: "no-ternary", rule: "off" },
|
|
47
|
-
{ name: "no-throw-literal", rule: "off" },
|
|
48
|
-
{ name: "no-undef", rule: "off" },
|
|
49
|
-
{ name: "no-undefined", rule: "off" },
|
|
50
|
-
{ name: "no-underscore-dangle", rule: "off" },
|
|
51
|
-
{ name: "no-unexpected-multiline", rule: "off" },
|
|
52
|
-
{
|
|
53
|
-
name: "no-unsafe-optional-chaining",
|
|
54
|
-
rule: ["error", { disallowArithmeticOperators: true }],
|
|
55
|
-
},
|
|
56
|
-
{ name: "no-unused-expressions", rule: "off" },
|
|
57
|
-
{ name: "no-unused-vars", rule: "off" },
|
|
58
|
-
{ name: "no-use-before-define", rule: "off" },
|
|
59
|
-
{ name: "no-useless-assignment", rule: "off" },
|
|
60
|
-
{ name: "no-useless-constructor", rule: "off" },
|
|
61
|
-
{ name: "no-warning-comments", rule: "off" },
|
|
62
|
-
{ name: "one-var", rule: "off" },
|
|
63
|
-
{ name: "prefer-destructuring", rule: "off" },
|
|
64
|
-
{ name: "prefer-promise-reject-errors", rule: "off" },
|
|
65
|
-
{ name: "require-await", rule: "off" },
|
|
66
|
-
{ name: "sort-imports", rule: "off" },
|
|
67
|
-
{ name: "sort-keys", rule: "off" },
|
|
68
|
-
{ name: "yoda", rule: ["error", "always"] },
|
|
69
|
-
];
|
|
70
|
-
|
|
71
|
-
export const eslintRules = genRules(ruleNames, changedRules);
|
package/setup/gen-rules.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param {Array<String>} ruleNames
|
|
3
|
-
* @param {Array<{name: string, rule: unknown}>} customRules
|
|
4
|
-
* @param {string?} prefix
|
|
5
|
-
* @param {string?} defaultOverride
|
|
6
|
-
* @return {Object}
|
|
7
|
-
*/
|
|
8
|
-
export const genRules = (ruleNames, customRules, prefix, defaultOverride) => {
|
|
9
|
-
const rules = {};
|
|
10
|
-
|
|
11
|
-
for (const rule of ruleNames) {
|
|
12
|
-
if (prefix === undefined) {
|
|
13
|
-
rules[rule] = defaultOverride ?? "error";
|
|
14
|
-
} else {
|
|
15
|
-
rules[`${prefix}/${rule}`] = defaultOverride ?? "error";
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (customRules) {
|
|
20
|
-
for (const rule of customRules) {
|
|
21
|
-
if (ruleNames.includes(rule.name)) {
|
|
22
|
-
if (prefix === undefined) {
|
|
23
|
-
rules[rule.name] = rule.rule;
|
|
24
|
-
} else {
|
|
25
|
-
rules[`${prefix}/${rule.name}`] = rule.rule;
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
// eslint-disable-next-line no-console
|
|
29
|
-
console.error(`${rule.name} does not exist.`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return Object.fromEntries(
|
|
35
|
-
Object.entries(rules).sort(([a], [b]) => {
|
|
36
|
-
a.localeCompare(b);
|
|
37
|
-
}),
|
|
38
|
-
);
|
|
39
|
-
};
|
package/setup/json.js
DELETED
package/setup/lodash.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
import lodash from "eslint-plugin-lodash";
|
|
3
|
-
import { genRules } from "./gen-rules.js";
|
|
4
|
-
|
|
5
|
-
const ruleNames = Object.keys(lodash.rules);
|
|
6
|
-
const customRules = [
|
|
7
|
-
{ name: "chain-style", rule: ["error", "as-needed"] },
|
|
8
|
-
{ name: "consistent-compose", rule: ["error", "flow"] },
|
|
9
|
-
{ name: "identity-shorthand", rule: ["error", "always"] },
|
|
10
|
-
{ name: "import-scope", rule: ["error", "method"] },
|
|
11
|
-
{ name: "matches-prop-shorthand", rule: ["error", "always"] },
|
|
12
|
-
{ name: "matches-shorthand", rule: ["error", "always", 3] },
|
|
13
|
-
{ name: "path-style", rule: ["error", "array"] },
|
|
14
|
-
{ name: "prefer-includes", rule: ["error", { includeNative: true }] },
|
|
15
|
-
{ name: "prefer-some", rule: ["error", { includeNative: true }] },
|
|
16
|
-
{ name: "prop-shorthand", rule: ["error", "always"] },
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
export const lodashRules = genRules(ruleNames, customRules, "lodash");
|
package/setup/markdown.js
DELETED
package/setup/n.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/no-abusive-eslint-disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
import n from "eslint-plugin-n";
|
|
4
|
-
import { genRules } from "./gen-rules.js";
|
|
5
|
-
|
|
6
|
-
const ruleNames = Object.keys(n.rules);
|
|
7
|
-
const changedRules = [
|
|
8
|
-
{ name: "callback-return", rule: "off" },
|
|
9
|
-
{ name: "exports-style", rule: ["error", "exports"] },
|
|
10
|
-
{ name: "file-extension-in-import", rule: "off" },
|
|
11
|
-
{ name: "global-require", rule: "off" },
|
|
12
|
-
{ name: "no-callback-literal", rule: "off" },
|
|
13
|
-
{ name: "no-missing-import", rule: "off" },
|
|
14
|
-
{ name: "no-mixed-requires", rule: "off" },
|
|
15
|
-
{ name: "no-new-require", rule: "off" },
|
|
16
|
-
{ name: "no-process-env", rule: "off" },
|
|
17
|
-
{ name: "no-process-exit", rule: "off" },
|
|
18
|
-
{ name: "no-restricted-import", rule: "off" },
|
|
19
|
-
{ name: "no-restricted-require", rule: "off" },
|
|
20
|
-
{ name: "no-sync", rule: "off" },
|
|
21
|
-
{ name: "no-unpublished-import", rule: "off" },
|
|
22
|
-
{ name: "no-unpublished-require", rule: "off" },
|
|
23
|
-
{ name: "prefer-promises/dns", rule: "off" },
|
|
24
|
-
{ name: "prefer-promises/fs", rule: "off" },
|
|
25
|
-
{ name: "process-exit-as-throw", rule: "off" },
|
|
26
|
-
{ name: "hashbang", rule: "off" },
|
|
27
|
-
{ name: "no-hide-core-modules", rule: "off" },
|
|
28
|
-
{ name: "shebang", rule: "off" },
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
export const nRules = genRules(ruleNames, changedRules, "n");
|
package/setup/react.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import react from "@eslint-react/eslint-plugin";
|
|
2
|
-
import reactHooks from "eslint-plugin-react-hooks";
|
|
3
|
-
import { genRules } from "./gen-rules.js";
|
|
4
|
-
import { fixupPluginRules } from "@eslint/compat";
|
|
5
|
-
|
|
6
|
-
const reactRuleNames = Object.keys(react.rules);
|
|
7
|
-
const customReactRules = [
|
|
8
|
-
{ name: "avoid-shorthand-boolean", rule: "off" },
|
|
9
|
-
{ name: "avoid-shorthand-fragment", rule: "off" },
|
|
10
|
-
{ name: "debug/class-component", rule: "off" },
|
|
11
|
-
{ name: "debug/function-component", rule: "off" },
|
|
12
|
-
{ name: "debug/hook", rule: "off" },
|
|
13
|
-
{ name: "debug/is-from-react", rule: "off" },
|
|
14
|
-
{ name: "debug/react-hooks", rule: "off" },
|
|
15
|
-
{
|
|
16
|
-
name: "naming-convention/filename",
|
|
17
|
-
rule: ["error", { rule: "kebab-case" }],
|
|
18
|
-
},
|
|
19
|
-
];
|
|
20
|
-
const reactGen = genRules(reactRuleNames, customReactRules, "react");
|
|
21
|
-
|
|
22
|
-
const reactHookRuleNames = Object.keys(reactHooks.rules);
|
|
23
|
-
const customHookRules = [
|
|
24
|
-
{ name: "exhaustive-deps", rule: "error" },
|
|
25
|
-
{ name: "rules-of-hooks", rule: "error" },
|
|
26
|
-
];
|
|
27
|
-
const hookGen = genRules(reactHookRuleNames, customHookRules, "react-hooks");
|
|
28
|
-
|
|
29
|
-
export const reactRules = {
|
|
30
|
-
...reactGen,
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export const reactHookRules = {
|
|
34
|
-
...hookGen,
|
|
35
|
-
};
|
package/setup/solid.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import solid from "eslint-plugin-solid";
|
|
2
|
-
import { genRules } from "./gen-rules.js";
|
|
3
|
-
|
|
4
|
-
const ruleNames = Object.keys(solid.rules);
|
|
5
|
-
const customRules = [
|
|
6
|
-
{ name: "no-proxy-apis", rule: "off" },
|
|
7
|
-
{ name: "prefer-classlist", rule: "off" },
|
|
8
|
-
];
|
|
9
|
-
|
|
10
|
-
export const solidRules = genRules(ruleNames, customRules, "solid");
|
package/setup/tanstack-query.js
DELETED
package/setup/unicorn.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import unicorn from "eslint-plugin-unicorn";
|
|
2
|
-
import { genRules } from "./gen-rules.js";
|
|
3
|
-
|
|
4
|
-
const ruleNames = Object.keys(unicorn.rules);
|
|
5
|
-
const customRules = [
|
|
6
|
-
{ name: "empty-brace-spaces", rule: "off" },
|
|
7
|
-
{ name: "explicit-length-check", rule: "off" },
|
|
8
|
-
{ name: "no-keyword-prefix", rule: "off" },
|
|
9
|
-
{ name: "no-nested-ternary", rule: "off" },
|
|
10
|
-
{ name: "no-null", rule: "off" },
|
|
11
|
-
{ name: "number-literal-case", rule: "off" },
|
|
12
|
-
{ name: "template-indent", rule: "off" },
|
|
13
|
-
{ name: "import-index", rule: "off" },
|
|
14
|
-
{ name: "no-array-instanceof", rule: "off" },
|
|
15
|
-
{ name: "no-fn-reference-in-iterator", rule: "off" },
|
|
16
|
-
{ name: "no-reduce", rule: "off" },
|
|
17
|
-
{ name: "no-unsafe-regex", rule: "off" },
|
|
18
|
-
{ name: "prefer-dataset", rule: "off" },
|
|
19
|
-
{ name: "prefer-event-key", rule: "off" },
|
|
20
|
-
{ name: "prefer-exponentiation-operator", rule: "off" },
|
|
21
|
-
{ name: "prefer-flat-map", rule: "off" },
|
|
22
|
-
{ name: "prefer-node-append", rule: "off" },
|
|
23
|
-
{ name: "prefer-node-remove", rule: "off" },
|
|
24
|
-
{ name: "prefer-object-has-own", rule: "off" },
|
|
25
|
-
{ name: "prefer-replace-all", rule: "off" },
|
|
26
|
-
{ name: "prefer-starts-ends-with", rule: "off" },
|
|
27
|
-
{ name: "prefer-text-content", rule: "off" },
|
|
28
|
-
{ name: "prefer-trim-start-end", rule: "off" },
|
|
29
|
-
{ name: "regex-shorthand", rule: "off" },
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
export const unicornRules = genRules(ruleNames, customRules, "unicorn");
|