@bastidood/eslint-config 0.4.0 → 0.6.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 +9 -12
- package/dist/compose/index.d.mts +19 -5
- package/dist/compose/index.mjs +54 -17
- package/dist/{convert-DXU3Htlu.mjs → convert-BtTj7vbK.mjs} +34 -511
- package/dist/core-tXylD6ZH.mjs +642 -0
- package/dist/core.d.mts +3 -2
- package/dist/core.mjs +30 -4
- package/dist/node.mjs +2 -1
- package/dist/tanstack/query.d.mts +3 -0
- package/dist/tanstack/query.mjs +24 -0
- package/dist/tanstack/table.d.mts +3 -0
- package/dist/tanstack/table.mjs +64 -0
- package/dist/vitest.mjs +2 -2
- package/package.json +14 -10
- package/dist/jsdoc.d.mts +0 -3
- package/dist/jsdoc.mjs +0 -42
- package/dist/promise.d.mts +0 -3
- package/dist/promise.mjs +0 -30
- package/dist/unicorn.d.mts +0 -3
- package/dist/unicorn.mjs +0 -146
package/dist/core.mjs
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as CORE$1 } from "./core-tXylD6ZH.mjs";
|
|
2
|
+
import { n as writeEslintRules, r as writeExtensionRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
|
|
2
3
|
import SLOPSTOPPER from "@bastidood/eslint-plugin-slopstopper";
|
|
4
|
+
import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
|
|
3
5
|
import { importX } from "eslint-plugin-import-x";
|
|
6
|
+
import jsdocPlugin from "eslint-plugin-jsdoc";
|
|
7
|
+
import promisePlugin from "eslint-plugin-promise";
|
|
8
|
+
import unicornPlugin from "eslint-plugin-unicorn";
|
|
4
9
|
import tseslint from "typescript-eslint";
|
|
5
10
|
// src/core.ts
|
|
6
11
|
const { categories: CATEGORIES, overrides: OVERRIDES, plugins: PLUGINS, rules: OXLINT_RULES } = CORE$1.config;
|
|
@@ -24,7 +29,10 @@ for (const { files, rules } of OVERRIDES) {
|
|
|
24
29
|
const PLUGIN_DEFINITIONS = {
|
|
25
30
|
"@typescript-eslint": TYPESCRIPT_ESLINT,
|
|
26
31
|
import: importX,
|
|
27
|
-
|
|
32
|
+
jsdoc: jsdocPlugin,
|
|
33
|
+
promise: promisePlugin,
|
|
34
|
+
slopstopper: SLOPSTOPPER,
|
|
35
|
+
unicorn: unicornPlugin
|
|
28
36
|
};
|
|
29
37
|
const RESTRICTIONS = {
|
|
30
38
|
...CORE$1.restrictions,
|
|
@@ -45,8 +53,9 @@ const RESTRICTIONS = {
|
|
|
45
53
|
]
|
|
46
54
|
};
|
|
47
55
|
/**
|
|
48
|
-
* ESLint core, `import`,
|
|
49
|
-
* TypeScript project service finds the `tsconfig.json` nearest each file, searching up
|
|
56
|
+
* ESLint core, `import`, `jsdoc`, `promise`, type-aware `@typescript-eslint`, and `unicorn` rules, generated from the
|
|
57
|
+
* Oxlint `core` entry point. The TypeScript project service finds the `tsconfig.json` nearest each file, searching up
|
|
58
|
+
* to the working directory.
|
|
50
59
|
*/
|
|
51
60
|
const CORE = {
|
|
52
61
|
configs: [{
|
|
@@ -58,6 +67,23 @@ const CORE = {
|
|
|
58
67
|
plugins: PLUGIN_DEFINITIONS,
|
|
59
68
|
rules: RULES
|
|
60
69
|
}, OVERRIDE_CONFIGS],
|
|
70
|
+
importExtensions: [
|
|
71
|
+
".ts",
|
|
72
|
+
".tsx",
|
|
73
|
+
".cts",
|
|
74
|
+
".mts",
|
|
75
|
+
".js",
|
|
76
|
+
".jsx",
|
|
77
|
+
".cjs",
|
|
78
|
+
".mjs"
|
|
79
|
+
],
|
|
80
|
+
importParsers: { "@typescript-eslint/parser": [
|
|
81
|
+
".ts",
|
|
82
|
+
".tsx",
|
|
83
|
+
".cts",
|
|
84
|
+
".mts"
|
|
85
|
+
] },
|
|
86
|
+
importResolvers: [createTypeScriptImportResolver()],
|
|
61
87
|
restrictions: RESTRICTIONS
|
|
62
88
|
};
|
|
63
89
|
export { CORE };
|
package/dist/node.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as CORE } from "./core-tXylD6ZH.mjs";
|
|
2
|
+
import { n as writeEslintRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
|
|
2
3
|
import nodePlugin from "eslint-plugin-n";
|
|
3
4
|
// ../oxlint/src/node.ts
|
|
4
5
|
/** Node.js rules for code that runs on Node.js. */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { n as writeEslintRules } from "../convert-BtTj7vbK.mjs";
|
|
2
|
+
// ../oxlint/src/tanstack/query.ts
|
|
3
|
+
/** TanStack Query rules that apply to every framework adapter. */
|
|
4
|
+
const TANSTACK_QUERY$1 = { config: {
|
|
5
|
+
jsPlugins: [{
|
|
6
|
+
name: "slopstopper",
|
|
7
|
+
specifier: "@bastidood/eslint-plugin-slopstopper"
|
|
8
|
+
}],
|
|
9
|
+
rules: {
|
|
10
|
+
"slopstopper/no-defaulted-query-key": "error",
|
|
11
|
+
"slopstopper/no-mutate-callback-cache-update": "error",
|
|
12
|
+
"slopstopper/no-standalone-mutate-async": "error",
|
|
13
|
+
"slopstopper/prefer-query-key-context": "error"
|
|
14
|
+
}
|
|
15
|
+
} };
|
|
16
|
+
// src/tanstack/query.ts
|
|
17
|
+
const RULES = {};
|
|
18
|
+
writeEslintRules(RULES, TANSTACK_QUERY$1.config.rules);
|
|
19
|
+
/** TanStack Query rules for every framework adapter, generated from the Oxlint `tanstack/query` entry point. */
|
|
20
|
+
const TANSTACK_QUERY = { configs: [{
|
|
21
|
+
name: "@bastidood/eslint-config/tanstack/query",
|
|
22
|
+
rules: RULES
|
|
23
|
+
}] };
|
|
24
|
+
export { TANSTACK_QUERY };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { n as writeEslintRules } from "../convert-BtTj7vbK.mjs";
|
|
2
|
+
// ../oxlint/src/tanstack/table.ts
|
|
3
|
+
const STOCK_FEATURES_MESSAGE = "Register only the features that this table uses in `tableFeatures({...})`. `stockFeatures` hides which features the table depends on and keeps every unused feature in the bundle. Do not suppress this.";
|
|
4
|
+
const RAW_TEMPLATE_MESSAGE = "Render through `FlexRender` with `cell`, `header`, or `footer` instead of reading the column template. For cells, it renders `aggregatedCell` and skips placeholders, and calling a template directly runs its hooks in the calling component. For a column label, use `column.id` or a label map.";
|
|
5
|
+
/** TanStack Table rules that apply to every framework adapter. */
|
|
6
|
+
const TANSTACK_TABLE$1 = {
|
|
7
|
+
config: {
|
|
8
|
+
jsPlugins: [{
|
|
9
|
+
name: "slopstopper",
|
|
10
|
+
specifier: "@bastidood/eslint-plugin-slopstopper"
|
|
11
|
+
}],
|
|
12
|
+
rules: {
|
|
13
|
+
"slopstopper/no-render-scoped-table-schema": "error",
|
|
14
|
+
"slopstopper/prefer-table-atoms": "error",
|
|
15
|
+
"slopstopper/require-exclusive-indeterminate": "error",
|
|
16
|
+
"slopstopper/require-table-state-pairs": "error"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
restrictions: {
|
|
20
|
+
importPaths: [
|
|
21
|
+
{
|
|
22
|
+
name: "@tanstack/table-core",
|
|
23
|
+
importNames: ["stockFeatures"],
|
|
24
|
+
message: STOCK_FEATURES_MESSAGE
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "@tanstack/react-table",
|
|
28
|
+
importNames: ["stockFeatures"],
|
|
29
|
+
message: STOCK_FEATURES_MESSAGE
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "@tanstack/svelte-table",
|
|
33
|
+
importNames: ["stockFeatures"],
|
|
34
|
+
message: STOCK_FEATURES_MESSAGE
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
syntax: [
|
|
38
|
+
{
|
|
39
|
+
selector: "MemberExpression[property.name=/^(?:cell|header|footer|aggregatedCell)$/]:matches([object.name=\"columnDef\"], [object.property.name=\"columnDef\"])",
|
|
40
|
+
message: RAW_TEMPLATE_MESSAGE
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
selector: "VariableDeclarator:matches([init.name=\"columnDef\"], [init.property.name=\"columnDef\"]) > ObjectPattern > Property[key.name=/^(?:cell|header|footer|aggregatedCell)$/]",
|
|
44
|
+
message: RAW_TEMPLATE_MESSAGE
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
selector: "Property[key.name=\"columnDef\"] > ObjectPattern > Property[key.name=/^(?:cell|header|footer|aggregatedCell)$/]",
|
|
48
|
+
message: RAW_TEMPLATE_MESSAGE
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
// src/tanstack/table.ts
|
|
54
|
+
const RULES = {};
|
|
55
|
+
writeEslintRules(RULES, TANSTACK_TABLE$1.config.rules);
|
|
56
|
+
/** TanStack Table rules for every framework adapter, generated from the Oxlint `tanstack/table` entry point. */
|
|
57
|
+
const TANSTACK_TABLE = {
|
|
58
|
+
configs: [{
|
|
59
|
+
name: "@bastidood/eslint-config/tanstack/table",
|
|
60
|
+
rules: RULES
|
|
61
|
+
}],
|
|
62
|
+
restrictions: TANSTACK_TABLE$1.restrictions
|
|
63
|
+
};
|
|
64
|
+
export { TANSTACK_TABLE };
|
package/dist/vitest.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as CORE } from "./core-tXylD6ZH.mjs";
|
|
2
|
+
import { n as writeEslintRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
|
|
2
3
|
import vitestPlugin from "@vitest/eslint-plugin";
|
|
3
4
|
// ../oxlint/src/vitest.ts
|
|
4
|
-
/** Steers module mocks toward dependency injection, as honest functions take their external collaborators as parameters. */
|
|
5
5
|
const MODULE_MOCK_MESSAGE = "A module mock swaps out a dependency that the code under test hides. Make the code honest instead: have it take the stateful or external collaborator (a database, network client, file system, or clock) as a parameter, inject the real one from the entry point, and pass a fake in the test. If a mock is unavoidable, suppress this diagnostic with a reason and mock through `import()` so that the path stays type-checked.";
|
|
6
6
|
const VITEST$1 = { config: {
|
|
7
7
|
plugins: ["vitest"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastidood/eslint-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Strict baseline ESLint configuration generated from @bastidood/oxlint-config.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/BastiDood/slopstopper",
|
|
@@ -10,14 +10,16 @@
|
|
|
10
10
|
"directory": "configs/eslint"
|
|
11
11
|
},
|
|
12
12
|
"type": "module",
|
|
13
|
+
"imports": {
|
|
14
|
+
"#*": "./src/*"
|
|
15
|
+
},
|
|
13
16
|
"exports": {
|
|
14
17
|
".": "./dist/compose/index.mjs",
|
|
15
18
|
"./core": "./dist/core.mjs",
|
|
16
|
-
"./unicorn": "./dist/unicorn.mjs",
|
|
17
|
-
"./promise": "./dist/promise.mjs",
|
|
18
19
|
"./node": "./dist/node.mjs",
|
|
19
20
|
"./vitest": "./dist/vitest.mjs",
|
|
20
|
-
"./
|
|
21
|
+
"./tanstack/query": "./dist/tanstack/query.mjs",
|
|
22
|
+
"./tanstack/table": "./dist/tanstack/table.mjs"
|
|
21
23
|
},
|
|
22
24
|
"files": [
|
|
23
25
|
"dist"
|
|
@@ -26,22 +28,24 @@
|
|
|
26
28
|
"access": "public"
|
|
27
29
|
},
|
|
28
30
|
"dependencies": {
|
|
29
|
-
"@bastidood/eslint-plugin-slopstopper": "^0.
|
|
31
|
+
"@bastidood/eslint-plugin-slopstopper": "^0.5.1",
|
|
30
32
|
"@vitest/eslint-plugin": "^1.6.28",
|
|
33
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
31
34
|
"eslint-plugin-import-x": "^4.17.1",
|
|
32
|
-
"eslint-plugin-jsdoc": "^65.4.
|
|
35
|
+
"eslint-plugin-jsdoc": "^65.4.4",
|
|
33
36
|
"eslint-plugin-n": "^18.5.0",
|
|
34
37
|
"eslint-plugin-promise": "^7.3.0",
|
|
35
38
|
"eslint-plugin-unicorn": "^79.0.0",
|
|
36
39
|
"typescript-eslint": "^8.72.1"
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {
|
|
39
|
-
"@bastidood/oxlint-config": "0.
|
|
42
|
+
"@bastidood/oxlint-config": "0.6.1",
|
|
40
43
|
"@bastidood/tsconfig": "0.1.1",
|
|
44
|
+
"@types/node": "^26.6.6",
|
|
41
45
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
42
|
-
"eslint": "^10.
|
|
43
|
-
"eslint-plugin-oxlint": "^1.
|
|
44
|
-
"tsdown": "
|
|
46
|
+
"eslint": "^10.14.0",
|
|
47
|
+
"eslint-plugin-oxlint": "^1.92.0",
|
|
48
|
+
"tsdown": "0.23.5",
|
|
45
49
|
"typescript": "npm:@typescript/typescript6@^6.0.2"
|
|
46
50
|
},
|
|
47
51
|
"peerDependencies": {
|
package/dist/jsdoc.d.mts
DELETED
package/dist/jsdoc.mjs
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
|
|
2
|
-
import jsdocPlugin from "eslint-plugin-jsdoc";
|
|
3
|
-
// ../oxlint/src/jsdoc.ts
|
|
4
|
-
const JSDOC$1 = { config: {
|
|
5
|
-
plugins: ["jsdoc"],
|
|
6
|
-
rules: {
|
|
7
|
-
"jsdoc/check-access": "off",
|
|
8
|
-
"jsdoc/check-property-names": "off",
|
|
9
|
-
"jsdoc/check-tag-names": ["error", { typed: true }],
|
|
10
|
-
"jsdoc/empty-tags": "error",
|
|
11
|
-
"jsdoc/implements-on-classes": "off",
|
|
12
|
-
"jsdoc/no-blank-blocks": ["error", { enableFixer: true }],
|
|
13
|
-
"jsdoc/no-defaults": "off",
|
|
14
|
-
"jsdoc/require-param": "off",
|
|
15
|
-
"jsdoc/require-param-description": "error",
|
|
16
|
-
"jsdoc/require-param-name": "error",
|
|
17
|
-
"jsdoc/require-param-type": "off",
|
|
18
|
-
"jsdoc/require-property": "off",
|
|
19
|
-
"jsdoc/require-property-description": "off",
|
|
20
|
-
"jsdoc/require-property-name": "off",
|
|
21
|
-
"jsdoc/require-property-type": "off",
|
|
22
|
-
"jsdoc/require-returns": "off",
|
|
23
|
-
"jsdoc/require-returns-description": "error",
|
|
24
|
-
"jsdoc/require-returns-type": "off",
|
|
25
|
-
"jsdoc/require-throws-description": "error",
|
|
26
|
-
"jsdoc/require-throws-type": "off",
|
|
27
|
-
"jsdoc/require-yields": "off",
|
|
28
|
-
"jsdoc/require-yields-description": "error",
|
|
29
|
-
"jsdoc/require-yields-type": "off"
|
|
30
|
-
}
|
|
31
|
-
} };
|
|
32
|
-
// src/jsdoc.ts
|
|
33
|
-
const RULES = {};
|
|
34
|
-
writeCategoryRules(RULES, CORE.config.categories, JSDOC$1.config.plugins);
|
|
35
|
-
writeEslintRules(RULES, JSDOC$1.config.rules);
|
|
36
|
-
/** `eslint-plugin-jsdoc` rules, generated from the Oxlint `jsdoc` entry point. */
|
|
37
|
-
const JSDOC = { configs: [{
|
|
38
|
-
name: "@bastidood/eslint-config/jsdoc",
|
|
39
|
-
plugins: { jsdoc: jsdocPlugin },
|
|
40
|
-
rules: RULES
|
|
41
|
-
}] };
|
|
42
|
-
export { JSDOC };
|
package/dist/promise.d.mts
DELETED
package/dist/promise.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
|
|
2
|
-
import promisePlugin from "eslint-plugin-promise";
|
|
3
|
-
// ../oxlint/src/promise.ts
|
|
4
|
-
const PROMISE$1 = { config: {
|
|
5
|
-
plugins: ["promise"],
|
|
6
|
-
rules: {
|
|
7
|
-
"promise/always-return": "off",
|
|
8
|
-
"promise/avoid-new": "error",
|
|
9
|
-
"promise/no-callback-in-promise": "off",
|
|
10
|
-
"promise/no-multiple-resolved": "error",
|
|
11
|
-
"promise/no-new-statics": "off",
|
|
12
|
-
"promise/no-promise-in-callback": "error",
|
|
13
|
-
"promise/param-names": "error",
|
|
14
|
-
"promise/prefer-await-to-callbacks": "error",
|
|
15
|
-
"promise/prefer-await-to-then": ["error", { strict: true }],
|
|
16
|
-
"promise/spec-only": "error",
|
|
17
|
-
"promise/valid-params": "off"
|
|
18
|
-
}
|
|
19
|
-
} };
|
|
20
|
-
// src/promise.ts
|
|
21
|
-
const RULES = {};
|
|
22
|
-
writeCategoryRules(RULES, CORE.config.categories, PROMISE$1.config.plugins);
|
|
23
|
-
writeEslintRules(RULES, PROMISE$1.config.rules);
|
|
24
|
-
/** `eslint-plugin-promise` rules, generated from the Oxlint `promise` entry point. */
|
|
25
|
-
const PROMISE = { configs: [{
|
|
26
|
-
name: "@bastidood/eslint-config/promise",
|
|
27
|
-
plugins: { promise: promisePlugin },
|
|
28
|
-
rules: RULES
|
|
29
|
-
}] };
|
|
30
|
-
export { PROMISE };
|
package/dist/unicorn.d.mts
DELETED
package/dist/unicorn.mjs
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
|
|
2
|
-
import unicornPlugin from "eslint-plugin-unicorn";
|
|
3
|
-
// ../oxlint/src/unicorn.ts
|
|
4
|
-
const UNICORN$1 = { config: {
|
|
5
|
-
plugins: ["unicorn"],
|
|
6
|
-
rules: {
|
|
7
|
-
"unicorn/catch-error-name": "error",
|
|
8
|
-
"unicorn/consistent-assert": "error",
|
|
9
|
-
"unicorn/consistent-date-clone": "error",
|
|
10
|
-
"unicorn/consistent-empty-array-spread": "error",
|
|
11
|
-
"unicorn/consistent-existence-index-check": "error",
|
|
12
|
-
"unicorn/consistent-function-scoping": "error",
|
|
13
|
-
"unicorn/consistent-template-literal-escape": "error",
|
|
14
|
-
"unicorn/custom-error-definition": "error",
|
|
15
|
-
"unicorn/error-message": "error",
|
|
16
|
-
"unicorn/escape-case": "error",
|
|
17
|
-
"unicorn/explicit-length-check": "error",
|
|
18
|
-
"unicorn/explicit-timer-delay": "error",
|
|
19
|
-
"unicorn/filename-case": ["error", { case: "kebabCase" }],
|
|
20
|
-
"unicorn/import-style": "off",
|
|
21
|
-
"unicorn/max-nested-calls": "error",
|
|
22
|
-
"unicorn/new-for-builtins": "error",
|
|
23
|
-
"unicorn/no-abusive-eslint-disable": "error",
|
|
24
|
-
"unicorn/no-accessor-recursion": "error",
|
|
25
|
-
"unicorn/no-array-callback-reference": "error",
|
|
26
|
-
"unicorn/no-array-fill-with-reference-type": "error",
|
|
27
|
-
"unicorn/no-array-for-each": "error",
|
|
28
|
-
"unicorn/no-array-method-this-argument": "error",
|
|
29
|
-
"unicorn/no-array-reverse": "off",
|
|
30
|
-
"unicorn/no-array-sort": "off",
|
|
31
|
-
"unicorn/no-await-expression-member": "error",
|
|
32
|
-
"unicorn/no-await-in-promise-methods": "error",
|
|
33
|
-
"unicorn/no-confusing-array-with": "off",
|
|
34
|
-
"unicorn/no-document-cookie": "error",
|
|
35
|
-
"unicorn/no-empty-file": "error",
|
|
36
|
-
"unicorn/no-hex-escape": "error",
|
|
37
|
-
"unicorn/no-immediate-mutation": "error",
|
|
38
|
-
"unicorn/no-instanceof-array": "error",
|
|
39
|
-
"unicorn/no-instanceof-builtins": ["error", { useErrorIsError: true }],
|
|
40
|
-
"unicorn/no-invalid-fetch-options": "error",
|
|
41
|
-
"unicorn/no-invalid-remove-event-listener": "off",
|
|
42
|
-
"unicorn/no-length-as-slice-end": "error",
|
|
43
|
-
"unicorn/no-lonely-if": "error",
|
|
44
|
-
"unicorn/no-magic-array-flat-depth": "error",
|
|
45
|
-
"unicorn/no-negation-in-equality-check": "error",
|
|
46
|
-
"unicorn/no-new-array": "error",
|
|
47
|
-
"unicorn/no-new-buffer": "error",
|
|
48
|
-
"unicorn/no-object-as-default-parameter": "error",
|
|
49
|
-
"unicorn/no-process-exit": "error",
|
|
50
|
-
"unicorn/no-single-promise-in-promise-methods": "error",
|
|
51
|
-
"unicorn/no-static-only-class": "error",
|
|
52
|
-
"unicorn/no-thenable": "error",
|
|
53
|
-
"unicorn/no-unnecessary-array-flat-depth": "error",
|
|
54
|
-
"unicorn/no-unnecessary-array-splice-count": "error",
|
|
55
|
-
"unicorn/no-unnecessary-await": "off",
|
|
56
|
-
"unicorn/no-unnecessary-slice-end": "error",
|
|
57
|
-
"unicorn/no-unreadable-array-destructuring": "error",
|
|
58
|
-
"unicorn/no-unreadable-iife": "error",
|
|
59
|
-
"unicorn/no-useless-collection-argument": "error",
|
|
60
|
-
"unicorn/no-useless-error-capture-stack-trace": "error",
|
|
61
|
-
"unicorn/no-useless-fallback-in-spread": "error",
|
|
62
|
-
"unicorn/no-useless-iterator-to-array": "error",
|
|
63
|
-
"unicorn/no-useless-length-check": "error",
|
|
64
|
-
"unicorn/no-useless-promise-resolve-reject": "error",
|
|
65
|
-
"unicorn/no-useless-spread": "error",
|
|
66
|
-
"unicorn/no-useless-switch-case": "error",
|
|
67
|
-
"unicorn/no-zero-fractions": "error",
|
|
68
|
-
"unicorn/number-literal-case": "off",
|
|
69
|
-
"unicorn/numeric-separators-style": "error",
|
|
70
|
-
"unicorn/prefer-add-event-listener": "error",
|
|
71
|
-
"unicorn/prefer-array-find": "off",
|
|
72
|
-
"unicorn/prefer-array-flat": "error",
|
|
73
|
-
"unicorn/prefer-array-flat-map": "error",
|
|
74
|
-
"unicorn/prefer-array-index-of": "error",
|
|
75
|
-
"unicorn/prefer-array-some": "error",
|
|
76
|
-
"unicorn/prefer-at": "error",
|
|
77
|
-
"unicorn/prefer-bigint-literals": "error",
|
|
78
|
-
"unicorn/prefer-blob-reading-methods": "error",
|
|
79
|
-
"unicorn/prefer-class-fields": "error",
|
|
80
|
-
"unicorn/prefer-classlist-toggle": "error",
|
|
81
|
-
"unicorn/prefer-code-point": "error",
|
|
82
|
-
"unicorn/prefer-date-now": "error",
|
|
83
|
-
"unicorn/prefer-default-parameters": "error",
|
|
84
|
-
"unicorn/prefer-dom-node-append": "error",
|
|
85
|
-
"unicorn/prefer-dom-node-dataset": "error",
|
|
86
|
-
"unicorn/prefer-dom-node-remove": "error",
|
|
87
|
-
"unicorn/prefer-dom-node-text-content": "error",
|
|
88
|
-
"unicorn/prefer-event-target": "error",
|
|
89
|
-
"unicorn/prefer-export-from": "error",
|
|
90
|
-
"unicorn/prefer-global-this": "error",
|
|
91
|
-
"unicorn/prefer-import-meta-properties": "error",
|
|
92
|
-
"unicorn/prefer-keyboard-event-key": "error",
|
|
93
|
-
"unicorn/prefer-logical-operator-over-ternary": "error",
|
|
94
|
-
"unicorn/prefer-math-min-max": "error",
|
|
95
|
-
"unicorn/prefer-math-trunc": "error",
|
|
96
|
-
"unicorn/prefer-modern-dom-apis": "error",
|
|
97
|
-
"unicorn/prefer-modern-math-apis": "error",
|
|
98
|
-
"unicorn/prefer-module": "error",
|
|
99
|
-
"unicorn/prefer-native-coercion-functions": "error",
|
|
100
|
-
"unicorn/prefer-negative-index": "error",
|
|
101
|
-
"unicorn/prefer-node-protocol": "error",
|
|
102
|
-
"unicorn/prefer-number-coercion": "error",
|
|
103
|
-
"unicorn/prefer-number-properties": ["error", { checkInfinity: true }],
|
|
104
|
-
"unicorn/prefer-object-from-entries": "error",
|
|
105
|
-
"unicorn/prefer-optional-catch-binding": "off",
|
|
106
|
-
"unicorn/prefer-prototype-methods": "error",
|
|
107
|
-
"unicorn/prefer-query-selector": "error",
|
|
108
|
-
"unicorn/prefer-reflect-apply": "off",
|
|
109
|
-
"unicorn/prefer-regexp-test": "error",
|
|
110
|
-
"unicorn/prefer-response-static-json": "error",
|
|
111
|
-
"unicorn/prefer-set-has": "error",
|
|
112
|
-
"unicorn/prefer-set-size": "error",
|
|
113
|
-
"unicorn/prefer-single-call": "error",
|
|
114
|
-
"unicorn/prefer-spread": "error",
|
|
115
|
-
"unicorn/prefer-string-raw": "error",
|
|
116
|
-
"unicorn/prefer-string-replace-all": "error",
|
|
117
|
-
"unicorn/prefer-string-slice": "error",
|
|
118
|
-
"unicorn/prefer-string-starts-ends-with": "off",
|
|
119
|
-
"unicorn/prefer-string-trim-start-end": "error",
|
|
120
|
-
"unicorn/prefer-structured-clone": "error",
|
|
121
|
-
"unicorn/prefer-ternary": "error",
|
|
122
|
-
"unicorn/prefer-top-level-await": "error",
|
|
123
|
-
"unicorn/prefer-type-error": "error",
|
|
124
|
-
"unicorn/relative-url-style": "error",
|
|
125
|
-
"unicorn/require-array-join-separator": "error",
|
|
126
|
-
"unicorn/require-module-attributes": "error",
|
|
127
|
-
"unicorn/require-module-specifiers": "off",
|
|
128
|
-
"unicorn/require-number-to-fixed-digits-argument": "error",
|
|
129
|
-
"unicorn/require-post-message-target-origin": "error",
|
|
130
|
-
"unicorn/switch-case-braces": ["error", "avoid"],
|
|
131
|
-
"unicorn/switch-case-break-position": "error",
|
|
132
|
-
"unicorn/text-encoding-identifier-case": "error",
|
|
133
|
-
"unicorn/throw-new-error": "error"
|
|
134
|
-
}
|
|
135
|
-
} };
|
|
136
|
-
// src/unicorn.ts
|
|
137
|
-
const RULES = {};
|
|
138
|
-
writeCategoryRules(RULES, CORE.config.categories, UNICORN$1.config.plugins);
|
|
139
|
-
writeEslintRules(RULES, UNICORN$1.config.rules);
|
|
140
|
-
/** `eslint-plugin-unicorn` rules, generated from the Oxlint `unicorn` entry point. */
|
|
141
|
-
const UNICORN = { configs: [{
|
|
142
|
-
name: "@bastidood/eslint-config/unicorn",
|
|
143
|
-
plugins: { unicorn: unicornPlugin },
|
|
144
|
-
rules: RULES
|
|
145
|
-
}] };
|
|
146
|
-
export { UNICORN };
|