@standard-config/eslint 2.0.2 → 2.2.0
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/dist/index.d.mts +11 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +46 -31
- package/dist/index.mjs.map +1 -1
- package/dist/{rules-react-DmzrAlni.mjs → rules-react-c2JZ9VhK.mjs} +43 -14
- package/dist/rules-react-c2JZ9VhK.mjs.map +1 -0
- package/dist/utilities.d.mts +10 -1
- package/dist/utilities.d.mts.map +1 -1
- package/dist/utilities.mjs +25 -11
- package/dist/utilities.mjs.map +1 -1
- package/package.json +16 -17
- package/dist/rules-react-DmzrAlni.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -30,11 +30,21 @@ declare const config$1: LinterConfigEntry;
|
|
|
30
30
|
*/
|
|
31
31
|
declare const config$2: LinterConfigEntry;
|
|
32
32
|
//#endregion
|
|
33
|
+
//#region src/config-test-files/eslint.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Optional config entry containing rules that target test files. Intended for
|
|
36
|
+
* explicit overrides.
|
|
37
|
+
*
|
|
38
|
+
* This config is intentionally limited to rules not supported by Oxlint
|
|
39
|
+
* and stylistic rules outside of Prettier’s scope.
|
|
40
|
+
*/
|
|
41
|
+
declare const config$3: LinterConfigEntry;
|
|
42
|
+
//#endregion
|
|
33
43
|
//#region src/define-config/index.d.ts
|
|
34
44
|
/**
|
|
35
45
|
* Combine Standard Config with optional additional config.
|
|
36
46
|
*/
|
|
37
47
|
declare function defineConfig(...configs: StandardConfigArray): Config[];
|
|
38
48
|
//#endregion
|
|
39
|
-
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, defineConfig };
|
|
49
|
+
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, config$3 as configTestFiles, defineConfig };
|
|
40
50
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config-base/eslint.ts","../src/config-config-files/eslint.ts","../src/config-react/eslint.ts","../src/define-config/index.ts"],"mappings":";;;;;;;AAA8D;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config-base/eslint.ts","../src/config-config-files/eslint.ts","../src/config-react/eslint.ts","../src/config-test-files/eslint.ts","../src/define-config/index.ts"],"mappings":";;;;;;;AAA8D;;;cAYxD,MAAA,EAAQ,iBAAA;;;;;;AAZgD;;;;cCWxD,QAAA,EAAQ,iBAAA;;;;;;ADXgD;;;;cEaxD,QAAA,EAAQ,iBAAA;;;;;;AFbgD;;;;cGWxD,QAAA,EAAQ,iBAAA;;;;;AHXgD;iBIWtC,YAAA,CAAA,GACpB,OAAA,EAAS,mBAAA,GACV,MAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import { a as rules$1, i as rules$2, n as rules$4, r as rules$3, t as rules$5 } from "./rules-react-
|
|
1
|
+
import { a as rules$1, i as rules$2, n as rules$4, o as rules, r as rules$3, t as rules$5 } from "./rules-react-c2JZ9VhK.mjs";
|
|
2
2
|
import pluginStylistic from "@stylistic/eslint-plugin";
|
|
3
3
|
import pluginPerfectionist from "eslint-plugin-perfectionist";
|
|
4
|
-
import pluginReact from "eslint-
|
|
4
|
+
import pluginReact from "@eslint-react/eslint-plugin";
|
|
5
5
|
import { defineConfig as defineConfig$1 } from "eslint/config";
|
|
6
|
-
//#region src/config-base/rules-core.ts
|
|
7
|
-
const rules = {
|
|
8
|
-
"camelcase": ["error", { properties: "always" }],
|
|
9
|
-
"func-name-matching": [
|
|
10
|
-
"error",
|
|
11
|
-
"never",
|
|
12
|
-
{ considerPropertyDescriptor: true }
|
|
13
|
-
]
|
|
14
|
-
};
|
|
15
|
-
//#endregion
|
|
16
6
|
//#region src/config-base/eslint.ts
|
|
17
7
|
/**
|
|
18
8
|
* Primary config entry.
|
|
@@ -32,8 +22,7 @@ const config = {
|
|
|
32
22
|
},
|
|
33
23
|
rules: {
|
|
34
24
|
...rules,
|
|
35
|
-
...rules$1
|
|
36
|
-
...rules$2
|
|
25
|
+
...rules$1
|
|
37
26
|
}
|
|
38
27
|
};
|
|
39
28
|
let tseslint;
|
|
@@ -59,7 +48,7 @@ if (tseslint && Object.hasOwn(tseslint, "parser")) config.languageOptions = {
|
|
|
59
48
|
const config$1 = {
|
|
60
49
|
name: "Config Files",
|
|
61
50
|
plugins: { perfectionist: pluginPerfectionist },
|
|
62
|
-
rules: { ...rules$
|
|
51
|
+
rules: { ...rules$2 }
|
|
63
52
|
};
|
|
64
53
|
//#endregion
|
|
65
54
|
//#region src/config-react/eslint.ts
|
|
@@ -76,31 +65,58 @@ const config$2 = {
|
|
|
76
65
|
"perfectionist": pluginPerfectionist,
|
|
77
66
|
"react-x": pluginReact
|
|
78
67
|
},
|
|
79
|
-
settings: { react: { version: "detect" } },
|
|
68
|
+
settings: { "react-x": { version: "detect" } },
|
|
80
69
|
rules: {
|
|
81
|
-
...rules$
|
|
82
|
-
...rules$
|
|
83
|
-
...rules$5
|
|
70
|
+
...rules$3,
|
|
71
|
+
...rules$4
|
|
84
72
|
}
|
|
85
73
|
};
|
|
86
74
|
//#endregion
|
|
75
|
+
//#region src/config-test-files/eslint.ts
|
|
76
|
+
/**
|
|
77
|
+
* Optional config entry containing rules that target test files. Intended for
|
|
78
|
+
* explicit overrides.
|
|
79
|
+
*
|
|
80
|
+
* This config is intentionally limited to rules not supported by Oxlint
|
|
81
|
+
* and stylistic rules outside of Prettier’s scope.
|
|
82
|
+
*/
|
|
83
|
+
const config$3 = {
|
|
84
|
+
name: "Test Files",
|
|
85
|
+
plugins: { "react-x": pluginReact },
|
|
86
|
+
rules: { ...rules$5 }
|
|
87
|
+
};
|
|
88
|
+
//#endregion
|
|
87
89
|
//#region src/define-config/index.ts
|
|
88
90
|
/**
|
|
89
91
|
* Combine Standard Config with optional additional config.
|
|
90
92
|
*/
|
|
91
93
|
function defineConfig(...configs) {
|
|
92
|
-
|
|
94
|
+
const { extensionConfigs, includeReactConfig } = normalizeExtensionConfigs(configs);
|
|
95
|
+
return defineConfig$1([{
|
|
93
96
|
name: "Standard Config",
|
|
94
|
-
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
95
97
|
extends: [
|
|
96
|
-
|
|
98
|
+
{
|
|
99
|
+
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
100
|
+
...config
|
|
101
|
+
},
|
|
102
|
+
includeReactConfig ? {
|
|
103
|
+
files: ["**/*.tsx"],
|
|
104
|
+
...config$2
|
|
105
|
+
} : [],
|
|
106
|
+
{
|
|
107
|
+
files: ["**/*.test.{ts,tsx,cts,mts}", "**/*.test-d.{ts,cts,mts}"],
|
|
108
|
+
...config$3
|
|
109
|
+
},
|
|
97
110
|
{
|
|
98
111
|
files: ["**/*.config.{ts,cts,mts}"],
|
|
99
112
|
...config$1
|
|
100
|
-
}
|
|
101
|
-
...normalizeExtensionConfigs(configs)
|
|
113
|
+
}
|
|
102
114
|
]
|
|
103
|
-
}
|
|
115
|
+
}, extensionConfigs.length > 0 ? {
|
|
116
|
+
name: "Standard Config Extensions",
|
|
117
|
+
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
118
|
+
extends: extensionConfigs
|
|
119
|
+
} : []]);
|
|
104
120
|
}
|
|
105
121
|
function normalizeExtensionConfigs(configs) {
|
|
106
122
|
const extensionConfigs = [];
|
|
@@ -110,13 +126,12 @@ function normalizeExtensionConfigs(configs) {
|
|
|
110
126
|
if (Object.keys(otherConfig).length > 0) extensionConfigs.push(defineConfig$1(otherConfig));
|
|
111
127
|
if (react !== void 0) includeReactConfig = react;
|
|
112
128
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
return extensionConfigs;
|
|
129
|
+
return {
|
|
130
|
+
extensionConfigs,
|
|
131
|
+
includeReactConfig
|
|
132
|
+
};
|
|
118
133
|
}
|
|
119
134
|
//#endregion
|
|
120
|
-
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, defineConfig };
|
|
135
|
+
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, config$3 as configTestFiles, defineConfig };
|
|
121
136
|
|
|
122
137
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["rulesPerfectionist","rulesStylistic","config","rulesPerfectionist","config","rulesPerfectionist","rulesReact","config","rulesReact","eslintDefineConfig","configBase","configReact","configTestFiles","configConfigFiles"],"sources":["../src/config-base/eslint.ts","../src/config-config-files/eslint.ts","../src/config-react/eslint.ts","../src/config-test-files/eslint.ts","../src/define-config/index.ts"],"sourcesContent":["import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginStylistic from '@stylistic/eslint-plugin';\nimport pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport rulesPerfectionist from './rules-perfectionist.ts';\nimport rulesStylistic from './rules-stylistic.ts';\n\n/**\n * Primary config entry.\n *\n * This config is intentionally limited to rules not supported by Oxlint\n * and stylistic rules outside of Prettier’s scope.\n */\nconst config: LinterConfigEntry = {\n\tname: 'Base Config',\n\tplugins: {\n\t\t'@stylistic': pluginStylistic,\n\t\t'perfectionist': pluginPerfectionist,\n\t},\n\tlinterOptions: {\n\t\treportUnusedDisableDirectives: 'error',\n\t\treportUnusedInlineConfigs: 'error',\n\t},\n\trules: {\n\t\t...rulesPerfectionist,\n\t\t...rulesStylistic,\n\t},\n};\n\n/* oxlint-disable-next-line typescript/consistent-type-imports */\nlet tseslint: typeof import('typescript-eslint') | undefined;\n\ntry {\n\ttseslint = await import('typescript-eslint');\n} catch {}\n\nif (tseslint && Object.hasOwn(tseslint, 'parser')) {\n\tconfig.languageOptions = {\n\t\tparser: tseslint.parser,\n\t\tparserOptions: {\n\t\t\tprojectService: true,\n\t\t\twarnOnUnsupportedTypeScriptVersion: false,\n\t\t},\n\t};\n}\n\nexport default config;\n","import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport rulesPerfectionist from './rules-perfectionist.ts';\n\n/**\n * Optional config entry containing rules that target config files. Intended for\n * explicit overrides.\n *\n * This config is intentionally limited to rules not supported by Oxlint\n * and stylistic rules outside of Prettier’s scope.\n */\nconst config: LinterConfigEntry = {\n\tname: 'Config Files',\n\tplugins: {\n\t\tperfectionist: pluginPerfectionist,\n\t},\n\trules: {\n\t\t...rulesPerfectionist,\n\t},\n};\n\nexport default config;\n","import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginReact from '@eslint-react/eslint-plugin';\nimport pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport rulesPerfectionist from './rules-perfectionist.ts';\nimport rulesReact from './rules-react.ts';\n\n/**\n * Optional config entry containing rules that target `*.tsx` files. Intended\n * for explicit overrides.\n *\n * This config is intentionally limited to rules not supported by Oxlint\n * and stylistic rules outside of Prettier’s scope.\n */\nconst config: LinterConfigEntry = {\n\tname: 'React',\n\tplugins: {\n\t\t'perfectionist': pluginPerfectionist,\n\t\t'react-x': pluginReact,\n\t},\n\tsettings: {\n\t\t'react-x': {\n\t\t\tversion: 'detect',\n\t\t},\n\t},\n\trules: {\n\t\t...rulesPerfectionist,\n\t\t...rulesReact,\n\t},\n};\n\nexport default config;\n","import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginReact from '@eslint-react/eslint-plugin';\nimport rulesReact from './rules-react.ts';\n\n/**\n * Optional config entry containing rules that target test files. Intended for\n * explicit overrides.\n *\n * This config is intentionally limited to rules not supported by Oxlint\n * and stylistic rules outside of Prettier’s scope.\n */\nconst config: LinterConfigEntry = {\n\tname: 'Test Files',\n\tplugins: {\n\t\t'react-x': pluginReact,\n\t},\n\trules: {\n\t\t...rulesReact,\n\t},\n};\n\nexport default config;\n","import type { Config } from 'eslint/config';\nimport type { StandardConfigArray } from '../types/eslint.d.ts';\nimport { defineConfig as eslintDefineConfig } from 'eslint/config';\nimport configBase from '../config-base/eslint.ts';\nimport configConfigFiles from '../config-config-files/eslint.ts';\nimport configReact from '../config-react/eslint.ts';\nimport configTestFiles from '../config-test-files/eslint.ts';\n\n/**\n * Combine Standard Config with optional additional config.\n */\nexport default function defineConfig(\n\t...configs: StandardConfigArray\n): Config[] {\n\tconst { extensionConfigs, includeReactConfig } =\n\t\tnormalizeExtensionConfigs(configs);\n\n\treturn eslintDefineConfig([\n\t\t{\n\t\t\tname: 'Standard Config',\n\t\t\textends: [\n\t\t\t\t{\n\t\t\t\t\tfiles: [\n\t\t\t\t\t\t/* prettier-ignore */\n\t\t\t\t\t\t'**/*.{ts,tsx,cts,mts}',\n\t\t\t\t\t],\n\t\t\t\t\t...configBase,\n\t\t\t\t},\n\t\t\t\tincludeReactConfig\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tfiles: [\n\t\t\t\t\t\t\t\t/* prettier-ignore */\n\t\t\t\t\t\t\t\t'**/*.tsx',\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t...configReact,\n\t\t\t\t\t\t}\n\t\t\t\t\t: [],\n\t\t\t\t{\n\t\t\t\t\tfiles: [\n\t\t\t\t\t\t/* prettier-ignore */\n\t\t\t\t\t\t'**/*.test.{ts,tsx,cts,mts}',\n\t\t\t\t\t\t'**/*.test-d.{ts,cts,mts}',\n\t\t\t\t\t],\n\t\t\t\t\t...configTestFiles,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfiles: [\n\t\t\t\t\t\t/* prettier-ignore */\n\t\t\t\t\t\t'**/*.config.{ts,cts,mts}',\n\t\t\t\t\t],\n\t\t\t\t\t...configConfigFiles,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\textensionConfigs.length > 0\n\t\t\t? {\n\t\t\t\t\tname: 'Standard Config Extensions',\n\t\t\t\t\tfiles: [\n\t\t\t\t\t\t/* prettier-ignore */\n\t\t\t\t\t\t'**/*.{ts,tsx,cts,mts}',\n\t\t\t\t\t],\n\t\t\t\t\textends: extensionConfigs,\n\t\t\t\t}\n\t\t\t: [],\n\t]);\n}\n\nfunction normalizeExtensionConfigs(configs: StandardConfigArray): {\n\textensionConfigs: Array<Config | Config[]>;\n\tincludeReactConfig: boolean;\n} {\n\tconst extensionConfigs: Array<Config | Config[]> = [];\n\tlet includeReactConfig = false;\n\n\tfor (const config of configs.flat()) {\n\t\tconst { react, ...otherConfig } = config;\n\n\t\tif (Object.keys(otherConfig).length > 0) {\n\t\t\textensionConfigs.push(eslintDefineConfig(otherConfig));\n\t\t}\n\n\t\tif (react !== undefined) {\n\t\t\tincludeReactConfig = react;\n\t\t}\n\t}\n\n\treturn {\n\t\textensionConfigs,\n\t\tincludeReactConfig,\n\t};\n}\n"],"mappings":";;;;;;;;;;;;AAYA,MAAM,SAA4B;CACjC,MAAM;CACN,SAAS;EACR,cAAc;EACd,iBAAiB;EACjB;CACD,eAAe;EACd,+BAA+B;EAC/B,2BAA2B;EAC3B;CACD,OAAO;EACN,GAAGA;EACH,GAAGC;EACH;CACD;AAGD,IAAI;AAEJ,IAAI;AACH,YAAW,MAAM,OAAO;QACjB;AAER,IAAI,YAAY,OAAO,OAAO,UAAU,SAAS,CAChD,QAAO,kBAAkB;CACxB,QAAQ,SAAS;CACjB,eAAe;EACd,gBAAgB;EAChB,oCAAoC;EACpC;CACD;;;;;;;;;;AC/BF,MAAMC,WAA4B;CACjC,MAAM;CACN,SAAS,EACR,eAAe,qBACf;CACD,OAAO,EACN,GAAGC,SACH;CACD;;;;;;;;;;ACND,MAAMC,WAA4B;CACjC,MAAM;CACN,SAAS;EACR,iBAAiB;EACjB,WAAW;EACX;CACD,UAAU,EACT,WAAW,EACV,SAAS,UACT,EACD;CACD,OAAO;EACN,GAAGC;EACH,GAAGC;EACH;CACD;;;;;;;;;;ACjBD,MAAMC,WAA4B;CACjC,MAAM;CACN,SAAS,EACR,WAAW,aACX;CACD,OAAO,EACN,GAAGC,SACH;CACD;;;;;;ACRD,SAAwB,aACvB,GAAG,SACQ;CACX,MAAM,EAAE,kBAAkB,uBACzB,0BAA0B,QAAQ;AAEnC,QAAOC,eAAmB,CACzB;EACC,MAAM;EACN,SAAS;GACR;IACC,OAAO,CAEN,wBACA;IACD,GAAGC;IACH;GACD,qBACG;IACA,OAAO,CAEN,WACA;IACD,GAAGC;IACH,GACA,EAAE;GACL;IACC,OAAO,CAEN,8BACA,2BACA;IACD,GAAGC;IACH;GACD;IACC,OAAO,CAEN,2BACA;IACD,GAAGC;IACH;GACD;EACD,EACD,iBAAiB,SAAS,IACvB;EACA,MAAM;EACN,OAAO,CAEN,wBACA;EACD,SAAS;EACT,GACA,EAAE,CACL,CAAC;;AAGH,SAAS,0BAA0B,SAGjC;CACD,MAAM,mBAA6C,EAAE;CACrD,IAAI,qBAAqB;AAEzB,MAAK,MAAM,UAAU,QAAQ,MAAM,EAAE;EACpC,MAAM,EAAE,OAAO,GAAG,gBAAgB;AAElC,MAAI,OAAO,KAAK,YAAY,CAAC,SAAS,EACrC,kBAAiB,KAAKJ,eAAmB,YAAY,CAAC;AAGvD,MAAI,UAAU,KAAA,EACb,sBAAqB;;AAIvB,QAAO;EACN;EACA;EACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/config-base/rules-perfectionist.ts
|
|
2
|
-
const rules$
|
|
2
|
+
const rules$5 = {
|
|
3
3
|
"perfectionist/sort-array-includes": ["error", { type: "natural" }],
|
|
4
4
|
"perfectionist/sort-classes": ["error", {
|
|
5
5
|
groups: ["property", "constructor"],
|
|
@@ -101,7 +101,7 @@ const rules$4 = {
|
|
|
101
101
|
};
|
|
102
102
|
//#endregion
|
|
103
103
|
//#region src/config-base/rules-stylistic.ts
|
|
104
|
-
const rules$
|
|
104
|
+
const rules$4 = {
|
|
105
105
|
"@stylistic/lines-between-class-members": [
|
|
106
106
|
"error",
|
|
107
107
|
"always",
|
|
@@ -192,7 +192,7 @@ const rules$3 = {
|
|
|
192
192
|
};
|
|
193
193
|
//#endregion
|
|
194
194
|
//#region src/config-config-files/rules-perfectionist.ts
|
|
195
|
-
const rules$
|
|
195
|
+
const rules$3 = { "perfectionist/sort-objects": ["error", {
|
|
196
196
|
customGroups: [
|
|
197
197
|
{
|
|
198
198
|
groupName: "extends",
|
|
@@ -248,7 +248,7 @@ const rules$2 = { "perfectionist/sort-objects": ["error", {
|
|
|
248
248
|
}] };
|
|
249
249
|
//#endregion
|
|
250
250
|
//#region src/config-react/rules-perfectionist.ts
|
|
251
|
-
const rules$
|
|
251
|
+
const rules$2 = { "perfectionist/sort-jsx-props": ["error", {
|
|
252
252
|
customGroups: [
|
|
253
253
|
{
|
|
254
254
|
groupName: "as",
|
|
@@ -289,12 +289,19 @@ const rules$1 = { "perfectionist/sort-jsx-props": ["error", {
|
|
|
289
289
|
}] };
|
|
290
290
|
//#endregion
|
|
291
291
|
//#region src/config-react/rules-react.ts
|
|
292
|
-
const rules = {
|
|
293
|
-
"react-x/
|
|
292
|
+
const rules$1 = {
|
|
293
|
+
"react-x/dom-no-flush-sync": "error",
|
|
294
|
+
"react-x/dom-no-unsafe-iframe-sandbox": "error",
|
|
295
|
+
"react-x/dom-no-use-form-state": "error",
|
|
294
296
|
"react-x/error-boundaries": "error",
|
|
295
297
|
"react-x/immutability": "error",
|
|
296
|
-
"react-x/jsx-
|
|
297
|
-
"react-x/jsx-
|
|
298
|
+
"react-x/jsx-no-key-after-spread": "error",
|
|
299
|
+
"react-x/jsx-no-leaked-dollar": "error",
|
|
300
|
+
"react-x/jsx-no-leaked-semicolon": "error",
|
|
301
|
+
"react-x/jsx-no-useless-fragment": "error",
|
|
302
|
+
"react-x/naming-convention-context-name": "error",
|
|
303
|
+
"react-x/naming-convention-id-name": "error",
|
|
304
|
+
"react-x/naming-convention-ref-name": "error",
|
|
298
305
|
"react-x/no-access-state-in-setstate": "error",
|
|
299
306
|
"react-x/no-class-component": "error",
|
|
300
307
|
"react-x/no-context-provider": "error",
|
|
@@ -305,21 +312,43 @@ const rules = {
|
|
|
305
312
|
"react-x/no-misused-capture-owner-stack": "error",
|
|
306
313
|
"react-x/no-nested-component-definitions": "error",
|
|
307
314
|
"react-x/no-nested-lazy-component-declarations": "error",
|
|
308
|
-
"react-x/no-unnecessary-use-
|
|
309
|
-
"react-x/no-unnecessary-use-memo": "error",
|
|
315
|
+
"react-x/no-unnecessary-use-prefix": "error",
|
|
310
316
|
"react-x/no-unstable-context-value": "error",
|
|
311
317
|
"react-x/no-unstable-default-props": "error",
|
|
312
318
|
"react-x/no-use-context": "error",
|
|
313
|
-
"react-x/prefer-destructuring-assignment": "error",
|
|
314
319
|
"react-x/purity": "error",
|
|
315
320
|
"react-x/refs": "error",
|
|
316
321
|
"react-x/set-state-in-effect": "error",
|
|
317
322
|
"react-x/set-state-in-render": "error",
|
|
323
|
+
"react-x/static-components": "error",
|
|
318
324
|
"react-x/unsupported-syntax": "error",
|
|
319
325
|
"react-x/use-memo": "error",
|
|
320
|
-
"react-x/use-state": "error"
|
|
326
|
+
"react-x/use-state": "error",
|
|
327
|
+
"react-x/web-api-no-leaked-event-listener": "error",
|
|
328
|
+
"react-x/web-api-no-leaked-interval": "error",
|
|
329
|
+
"react-x/web-api-no-leaked-resize-observer": "error",
|
|
330
|
+
"react-x/web-api-no-leaked-timeout": "error"
|
|
331
|
+
};
|
|
332
|
+
//#endregion
|
|
333
|
+
//#region src/config-test-files/rules-react.ts
|
|
334
|
+
const rules = {
|
|
335
|
+
"react-x/dom-no-flush-sync": "off",
|
|
336
|
+
"react-x/dom-no-unsafe-iframe-sandbox": "off",
|
|
337
|
+
"react-x/jsx-no-useless-fragment": "off",
|
|
338
|
+
"react-x/naming-convention-context-name": "off",
|
|
339
|
+
"react-x/naming-convention-id-name": "off",
|
|
340
|
+
"react-x/naming-convention-ref-name": "off",
|
|
341
|
+
"react-x/no-nested-component-definitions": "off",
|
|
342
|
+
"react-x/no-nested-lazy-component-declarations": "off",
|
|
343
|
+
"react-x/no-unnecessary-use-prefix": "off",
|
|
344
|
+
"react-x/no-unstable-context-value": "off",
|
|
345
|
+
"react-x/static-components": "off",
|
|
346
|
+
"react-x/web-api-no-leaked-event-listener": "off",
|
|
347
|
+
"react-x/web-api-no-leaked-interval": "off",
|
|
348
|
+
"react-x/web-api-no-leaked-resize-observer": "off",
|
|
349
|
+
"react-x/web-api-no-leaked-timeout": "off"
|
|
321
350
|
};
|
|
322
351
|
//#endregion
|
|
323
|
-
export { rules$4 as a, rules$3 as i, rules$1 as n, rules$2 as r, rules as t };
|
|
352
|
+
export { rules$4 as a, rules$3 as i, rules$1 as n, rules$5 as o, rules$2 as r, rules as t };
|
|
324
353
|
|
|
325
|
-
//# sourceMappingURL=rules-react-
|
|
354
|
+
//# sourceMappingURL=rules-react-c2JZ9VhK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-react-c2JZ9VhK.mjs","names":["rules","rules","rules","rules","rules"],"sources":["../src/config-base/rules-perfectionist.ts","../src/config-base/rules-stylistic.ts","../src/config-config-files/rules-perfectionist.ts","../src/config-react/rules-perfectionist.ts","../src/config-react/rules-react.ts","../src/config-test-files/rules-react.ts"],"sourcesContent":["import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-array-includes': ['error', { type: 'natural' }],\n\t'perfectionist/sort-classes': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['property', 'constructor'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-exports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-imports': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'mock-side-effect',\n\t\t\t\t\telementNamePattern: '^.*/_*(mocks)_*/.*$',\n\t\t\t\t\tselector: 'side-effect',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'mock',\n\t\t\t\t\telementNamePattern: '^.*/_*(mocks)_*/.*$',\n\t\t\t\t\tselector: 'import',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'mock-side-effect',\n\t\t\t\t'mock',\n\t\t\t\t['type-builtin', 'type-external'],\n\t\t\t\t'type-internal',\n\t\t\t\t['type-parent', 'type-sibling', 'type-index'],\n\t\t\t\t['value-builtin', 'value-external'],\n\t\t\t\t'value-internal',\n\t\t\t\t['value-parent', 'value-sibling', 'value-index'],\n\t\t\t\t'unknown',\n\t\t\t\t'style',\n\t\t\t\t'side-effect',\n\t\t\t\t'side-effect-style',\n\t\t\t],\n\t\t\tinternalPattern: ['^(#|@/).*'],\n\t\t\tnewlinesBetween: 0,\n\t\t\tsortSideEffects: true,\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-interfaces': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['index-signature', 'unknown', 'method'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-intersection-types': ['error', { type: 'natural' }],\n\t'perfectionist/sort-named-exports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-named-imports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-object-types': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['index-signature', 'unknown', 'method'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-objects': [\n\t\t'error',\n\t\t{\n\t\t\ttype: 'natural',\n\t\t\tuseConfigurationIf: {\n\t\t\t\tobjectType: 'destructured',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'unsorted',\n\t\t\tuseConfigurationIf: {\n\t\t\t\tobjectType: 'non-destructured',\n\t\t\t},\n\t\t},\n\t],\n\t'perfectionist/sort-union-types': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'false',\n\t\t\t\t\telementNamePattern: '^false$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'never',\n\t\t\t\t\telementNamePattern: '^never$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'react',\n\t\t\t\t\telementNamePattern: '^react.+',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: ['react', 'unknown', 'tuple', 'false', 'nullish', 'never'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'@stylistic/lines-between-class-members': [\n\t\t'error',\n\t\t'always',\n\t\t{ exceptAfterSingleLine: true },\n\t],\n\t'@stylistic/padding-line-between-statements': [\n\t\t'error',\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: '*',\n\t\t\tprev: [\n\t\t\t\t'block-like',\n\t\t\t\t'directive',\n\t\t\t\t'export',\n\t\t\t\t'function',\n\t\t\t\t'import',\n\t\t\t\t'interface',\n\t\t\t\t'type',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: [\n\t\t\t\t'block-like',\n\t\t\t\t'directive',\n\t\t\t\t'export',\n\t\t\t\t'function',\n\t\t\t\t'import',\n\t\t\t\t'interface',\n\t\t\t\t'type',\n\t\t\t],\n\t\t\tprev: '*',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: ['break', 'continue', 'return', 'throw'],\n\t\t\tprev: 'block-like',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: '*',\n\t\t\tprev: ['case', 'default'],\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: 'directive',\n\t\t\tprev: 'directive',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'export',\n\t\t\tprev: 'export',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: ['function', 'function-overload'],\n\t\t\tprev: 'function-overload',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: 'import',\n\t\t\tprev: 'import',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'interface',\n\t\t\tprev: 'interface',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'type',\n\t\t\tprev: 'type',\n\t\t},\n\t],\n\t'@stylistic/spaced-comment': [\n\t\t'error',\n\t\t'always',\n\t\t{\n\t\t\tblock: {\n\t\t\t\tbalanced: true,\n\t\t\t},\n\t\t\tline: {\n\t\t\t\tmarkers: ['/'],\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-objects': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'extends',\n\t\t\t\t\telementNamePattern: '^extends$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'files',\n\t\t\t\t\telementNamePattern: '^files$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'ignores',\n\t\t\t\t\telementNamePattern: '^(ignores|ignorePatterns)$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'name',\n\t\t\t\t\telementNamePattern: '^(name|groupName)$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'overrides',\n\t\t\t\t\telementNamePattern: '^overrides$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'parser',\n\t\t\t\t\telementNamePattern: '^parser$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'plugins',\n\t\t\t\t\telementNamePattern: '^plugins$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'rules',\n\t\t\t\t\telementNamePattern: '^rules$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'test',\n\t\t\t\t\telementNamePattern: '^(test|tests)$',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'name',\n\t\t\t\t'files',\n\t\t\t\t'extends',\n\t\t\t\t'ignores',\n\t\t\t\t'plugins',\n\t\t\t\t'parser',\n\t\t\t\t'test',\n\t\t\t\t'unknown',\n\t\t\t\t'rules',\n\t\t\t\t'overrides',\n\t\t\t],\n\t\t\tnewlinesBetween: 0,\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-jsx-props': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'as',\n\t\t\t\t\telementNamePattern: '^as$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'callback',\n\t\t\t\t\telementNamePattern: '^on.+',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'children',\n\t\t\t\t\telementNamePattern: '^children$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'key',\n\t\t\t\t\telementNamePattern: '^key$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'ref',\n\t\t\t\t\telementNamePattern: '^ref$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'unsafe',\n\t\t\t\t\telementNamePattern: '^dangerously.+',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'key',\n\t\t\t\t'ref',\n\t\t\t\t'as',\n\t\t\t\t'unknown',\n\t\t\t\t'shorthand-prop',\n\t\t\t\t'callback',\n\t\t\t\t'children',\n\t\t\t\t'unsafe',\n\t\t\t],\n\t\t\ttype: 'unsorted',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'react-x/dom-no-flush-sync': 'error',\n\t'react-x/dom-no-unsafe-iframe-sandbox': 'error',\n\t'react-x/dom-no-use-form-state': 'error',\n\t'react-x/error-boundaries': 'error',\n\t'react-x/immutability': 'error',\n\t'react-x/jsx-no-key-after-spread': 'error',\n\t'react-x/jsx-no-leaked-dollar': 'error',\n\t'react-x/jsx-no-leaked-semicolon': 'error',\n\t'react-x/jsx-no-useless-fragment': 'error',\n\t'react-x/naming-convention-context-name': 'error',\n\t'react-x/naming-convention-id-name': 'error',\n\t'react-x/naming-convention-ref-name': 'error',\n\t'react-x/no-access-state-in-setstate': 'error',\n\t'react-x/no-class-component': 'error',\n\t'react-x/no-context-provider': 'error',\n\t'react-x/no-duplicate-key': 'error',\n\t'react-x/no-forward-ref': 'error',\n\t'react-x/no-implicit-key': 'error',\n\t'react-x/no-leaked-conditional-rendering': 'error',\n\t'react-x/no-misused-capture-owner-stack': 'error',\n\t'react-x/no-nested-component-definitions': 'error',\n\t'react-x/no-nested-lazy-component-declarations': 'error',\n\t'react-x/no-unnecessary-use-prefix': 'error',\n\t'react-x/no-unstable-context-value': 'error',\n\t'react-x/no-unstable-default-props': 'error',\n\t'react-x/no-use-context': 'error',\n\t'react-x/purity': 'error',\n\t'react-x/refs': 'error',\n\t'react-x/set-state-in-effect': 'error',\n\t'react-x/set-state-in-render': 'error',\n\t'react-x/static-components': 'error',\n\t'react-x/unsupported-syntax': 'error',\n\t'react-x/use-memo': 'error',\n\t'react-x/use-state': 'error',\n\t'react-x/web-api-no-leaked-event-listener': 'error',\n\t'react-x/web-api-no-leaked-interval': 'error',\n\t'react-x/web-api-no-leaked-resize-observer': 'error',\n\t'react-x/web-api-no-leaked-timeout': 'error',\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.ts';\n\nconst rules: LinterConfigRules = {\n\t'react-x/dom-no-flush-sync': 'off',\n\t'react-x/dom-no-unsafe-iframe-sandbox': 'off',\n\t'react-x/jsx-no-useless-fragment': 'off',\n\t'react-x/naming-convention-context-name': 'off',\n\t'react-x/naming-convention-id-name': 'off',\n\t'react-x/naming-convention-ref-name': 'off',\n\t'react-x/no-nested-component-definitions': 'off',\n\t'react-x/no-nested-lazy-component-declarations': 'off',\n\t'react-x/no-unnecessary-use-prefix': 'off',\n\t'react-x/no-unstable-context-value': 'off',\n\t'react-x/static-components': 'off',\n\t'react-x/web-api-no-leaked-event-listener': 'off',\n\t'react-x/web-api-no-leaked-interval': 'off',\n\t'react-x/web-api-no-leaked-resize-observer': 'off',\n\t'react-x/web-api-no-leaked-timeout': 'off',\n};\n\nexport default rules;\n"],"mappings":";AAEA,MAAMA,UAA2B;CAChC,qCAAqC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CACnE,8BAA8B,CAC7B,SACA;EACC,QAAQ,CAAC,YAAY,cAAc;EACnC,MAAM;EACN,CACD;CACD,8BAA8B,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAC5D,8BAA8B,CAC7B,SACA;EACC,cAAc,CACb;GACC,WAAW;GACX,oBAAoB;GACpB,UAAU;GACV,EACD;GACC,WAAW;GACX,oBAAoB;GACpB,UAAU;GACV,CACD;EACD,QAAQ;GACP;GACA;GACA,CAAC,gBAAgB,gBAAgB;GACjC;GACA;IAAC;IAAe;IAAgB;IAAa;GAC7C,CAAC,iBAAiB,iBAAiB;GACnC;GACA;IAAC;IAAgB;IAAiB;IAAc;GAChD;GACA;GACA;GACA;GACA;EACD,iBAAiB,CAAC,YAAY;EAC9B,iBAAiB;EACjB,iBAAiB;EACjB,MAAM;EACN,CACD;CACD,iCAAiC,CAChC,SACA;EACC,QAAQ;GAAC;GAAmB;GAAW;GAAS;EAChD,MAAM;EACN,CACD;CACD,yCAAyC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CACvE,oCAAoC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAClE,oCAAoC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAClE,mCAAmC,CAClC,SACA;EACC,QAAQ;GAAC;GAAmB;GAAW;GAAS;EAChD,MAAM;EACN,CACD;CACD,8BAA8B;EAC7B;EACA;GACC,MAAM;GACN,oBAAoB,EACnB,YAAY,gBACZ;GACD;EACD;GACC,MAAM;GACN,oBAAoB,EACnB,YAAY,oBACZ;GACD;EACD;CACD,kCAAkC,CACjC,SACA;EACC,cAAc;GACb;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;EACD,QAAQ;GAAC;GAAS;GAAW;GAAS;GAAS;GAAW;GAAQ;EAClE,MAAM;EACN,CACD;CACD;;;AClGD,MAAMC,UAA2B;CAChC,0CAA0C;EACzC;EACA;EACA,EAAE,uBAAuB,MAAM;EAC/B;CACD,8CAA8C;EAC7C;EACA;GACC,WAAW;GACX,MAAM;GACN,MAAM;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;EACD;GACC,WAAW;GACX,MAAM;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;IAAC;IAAS;IAAY;IAAU;IAAQ;GAC9C,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM,CAAC,QAAQ,UAAU;GACzB;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM,CAAC,YAAY,oBAAoB;GACvC,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;CACD,6BAA6B;EAC5B;EACA;EACA;GACC,OAAO,EACN,UAAU,MACV;GACD,MAAM,EACL,SAAS,CAAC,IAAI,EACd;GACD;EACD;CACD;;;ACvFD,MAAMC,UAA2B,EAChC,8BAA8B,CAC7B,SACA;CACC,cAAc;EACb;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;CACD,QAAQ;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,iBAAiB;CACjB,MAAM;CACN,CACD,EACD;;;AC1DD,MAAMC,UAA2B,EAChC,gCAAgC,CAC/B,SACA;CACC,cAAc;EACb;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;CACD,QAAQ;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM;CACN,CACD,EACD;;;AC3CD,MAAMC,UAA2B;CAChC,6BAA6B;CAC7B,wCAAwC;CACxC,iCAAiC;CACjC,4BAA4B;CAC5B,wBAAwB;CACxB,mCAAmC;CACnC,gCAAgC;CAChC,mCAAmC;CACnC,mCAAmC;CACnC,0CAA0C;CAC1C,qCAAqC;CACrC,sCAAsC;CACtC,uCAAuC;CACvC,8BAA8B;CAC9B,+BAA+B;CAC/B,4BAA4B;CAC5B,0BAA0B;CAC1B,2BAA2B;CAC3B,2CAA2C;CAC3C,0CAA0C;CAC1C,2CAA2C;CAC3C,iDAAiD;CACjD,qCAAqC;CACrC,qCAAqC;CACrC,qCAAqC;CACrC,0BAA0B;CAC1B,kBAAkB;CAClB,gBAAgB;CAChB,+BAA+B;CAC/B,+BAA+B;CAC/B,6BAA6B;CAC7B,8BAA8B;CAC9B,oBAAoB;CACpB,qBAAqB;CACrB,4CAA4C;CAC5C,sCAAsC;CACtC,6CAA6C;CAC7C,qCAAqC;CACrC;;;ACvCD,MAAM,QAA2B;CAChC,6BAA6B;CAC7B,wCAAwC;CACxC,mCAAmC;CACnC,0CAA0C;CAC1C,qCAAqC;CACrC,sCAAsC;CACtC,2CAA2C;CAC3C,iDAAiD;CACjD,qCAAqC;CACrC,qCAAqC;CACrC,6BAA6B;CAC7B,4CAA4C;CAC5C,sCAAsC;CACtC,6CAA6C;CAC7C,qCAAqC;CACrC"}
|
package/dist/utilities.d.mts
CHANGED
|
@@ -32,6 +32,15 @@ declare const config$2: OxlintOverrideEntry;
|
|
|
32
32
|
*/
|
|
33
33
|
declare const config$1: OxlintConfig;
|
|
34
34
|
//#endregion
|
|
35
|
+
//#region src/config-test-files/oxlint.d.ts
|
|
36
|
+
/**
|
|
37
|
+
* Standard Config’s ESLint config translated for Oxlint.
|
|
38
|
+
*
|
|
39
|
+
* Optional config entry containing rules that target test files. Intended for
|
|
40
|
+
* explicit overrides.
|
|
41
|
+
*/
|
|
42
|
+
declare const config$3: OxlintOverrideEntry;
|
|
43
|
+
//#endregion
|
|
35
44
|
//#region src/utilities/define-oxlint-config/index.d.ts
|
|
36
45
|
/**
|
|
37
46
|
* Wrapper around `defineConfig` from `@standard-config/oxlint` that combines
|
|
@@ -59,5 +68,5 @@ declare function transformRules(rules: Linter.Config['rules'], options: {
|
|
|
59
68
|
severity?: Linter.StringSeverity;
|
|
60
69
|
}): LinterConfigRules;
|
|
61
70
|
//#endregion
|
|
62
|
-
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, transformPlugin, transformRules };
|
|
71
|
+
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, config$3 as oxlintConfigTestFiles, transformPlugin, transformRules };
|
|
63
72
|
//# sourceMappingURL=utilities.d.mts.map
|
package/dist/utilities.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.mts","names":["ExternalPluginEntry","OxlintConfig","OxlintOverride","StandardConfigOptions","OxlintOverrideEntry","Pick","OxlintPluginEntry","Exclude","StandardConfig"],"sources":["../src/config-base/oxlint.ts","../src/types/oxlint.d.ts","../src/config-config-files/oxlint.ts","../src/config-react/oxlint.ts","../src/utilities/define-oxlint-config/index.ts","../src/utilities/transform-plugin/index.ts","../src/utilities/transform-rules/index.ts"],"mappings":";;;;;;;;;AAA2C;
|
|
1
|
+
{"version":3,"file":"utilities.d.mts","names":["ExternalPluginEntry","OxlintConfig","OxlintOverride","StandardConfigOptions","OxlintOverrideEntry","Pick","OxlintPluginEntry","Exclude","StandardConfig"],"sources":["../src/config-base/oxlint.ts","../src/types/oxlint.d.ts","../src/config-config-files/oxlint.ts","../src/config-react/oxlint.ts","../src/config-test-files/oxlint.ts","../src/utilities/define-oxlint-config/index.ts","../src/utilities/transform-plugin/index.ts","../src/utilities/transform-rules/index.ts"],"mappings":";;;;;;;;;AAA2C;cAarC,MAAA,EAAQ,YAAA;;;KCVFI,mBAAAA,GAAsBC,IAAAA,CAAKH,cAAAA;AAAAA,KAE3BI,iBAAAA,GAAoBC,OAAAA,CAAQP,mBAAAA;AAAAA,KAE5BQ,cAAAA,GAAiBP,YAAAA,GAAeE,qBAAAA;;;;;;;ADPD;;cESrC,QAAA,EAAQ,mBAAA;;;;;;;AFT6B;cGYrC,QAAA,EAAQ,YAAA;;;;;;;AHZ6B;;cISrC,QAAA,EAAQ,mBAAA;;;;;;AJT6B;iBKgBnB,kBAAA,CAAA,GACpB,OAAA,EAAS,cAAA,KACV,YAAA;;;;;;;ALlBwC;iBMQnB,eAAA,CACvB,IAAA,UACA,SAAA,WACE,iBAAA;;;;;;ANXwC;;iBOQnB,cAAA,CACvB,KAAA,EAAO,MAAA,CAAO,MAAA,WACd,OAAA;EACC,IAAA,GAAO,aAAA;EACP,MAAA;EACA,QAAA,GAAW,MAAA,CAAO,cAAA;AAAA,IAEjB,iBAAA"}
|
package/dist/utilities.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as rules$
|
|
1
|
+
import { a as rules$3, i as rules, n as rules$5, o as rules$2, r as rules$4, t as rules$1 } from "./rules-react-c2JZ9VhK.mjs";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
//#region src/config-config-files/oxlint.ts
|
|
4
4
|
/**
|
|
@@ -9,6 +9,15 @@ import { fileURLToPath } from "node:url";
|
|
|
9
9
|
*/
|
|
10
10
|
const config$2 = { rules: { ...rules } };
|
|
11
11
|
//#endregion
|
|
12
|
+
//#region src/config-test-files/oxlint.ts
|
|
13
|
+
/**
|
|
14
|
+
* Standard Config’s ESLint config translated for Oxlint.
|
|
15
|
+
*
|
|
16
|
+
* Optional config entry containing rules that target test files. Intended for
|
|
17
|
+
* explicit overrides.
|
|
18
|
+
*/
|
|
19
|
+
const config$3 = { rules: { ...rules$1 } };
|
|
20
|
+
//#endregion
|
|
12
21
|
//#region src/utilities/transform-plugin/index.ts
|
|
13
22
|
/**
|
|
14
23
|
* Resolve an external plugin specifier.
|
|
@@ -63,13 +72,19 @@ function prefixRules(rules, prefix) {
|
|
|
63
72
|
* Primary config entry. Does not include React-related rules.
|
|
64
73
|
*/
|
|
65
74
|
const config = {
|
|
66
|
-
jsPlugins: [
|
|
67
|
-
|
|
75
|
+
jsPlugins: [
|
|
76
|
+
transformPlugin("stylistic", "@stylistic/eslint-plugin"),
|
|
77
|
+
transformPlugin("perfectionist", "eslint-plugin-perfectionist"),
|
|
78
|
+
transformPlugin("react-x", "@eslint-react/eslint-plugin")
|
|
79
|
+
],
|
|
68
80
|
rules: {
|
|
69
|
-
...transformRules(rules$
|
|
70
|
-
...transformRules(rules$
|
|
81
|
+
...transformRules(rules$2, { omit: ["perfectionist/sort-classes"] }),
|
|
82
|
+
...transformRules(rules$3, { prefix: "stylistic" })
|
|
71
83
|
},
|
|
72
84
|
overrides: [{
|
|
85
|
+
files: ["**/*.test.{ts,tsx,cts,mts}", "**/*.test-d.{ts,cts,mts}"],
|
|
86
|
+
...config$3
|
|
87
|
+
}, {
|
|
73
88
|
files: ["**/*.config.{ts,cts,mts}"],
|
|
74
89
|
...config$2
|
|
75
90
|
}]
|
|
@@ -91,14 +106,13 @@ function clone(value) {
|
|
|
91
106
|
*/
|
|
92
107
|
const config$1 = {
|
|
93
108
|
...clone(config),
|
|
94
|
-
settings: { react: { version: "
|
|
109
|
+
settings: { "react-x": { version: "detect" } }
|
|
95
110
|
};
|
|
96
|
-
config$1.
|
|
97
|
-
config$1.overrides.push({
|
|
111
|
+
config$1.overrides.unshift({
|
|
98
112
|
files: ["**/*.tsx"],
|
|
99
113
|
rules: {
|
|
100
|
-
...rules$
|
|
101
|
-
...transformRules(rules$
|
|
114
|
+
...rules$4,
|
|
115
|
+
...transformRules(rules$5, { omit: ["react-x/no-implicit-key", "react-x/no-leaked-conditional-rendering"] })
|
|
102
116
|
}
|
|
103
117
|
});
|
|
104
118
|
//#endregion
|
|
@@ -119,6 +133,6 @@ function defineOxlintConfig(...configs) {
|
|
|
119
133
|
return defineConfig(includeReactConfig ? config$1 : config, ...configs);
|
|
120
134
|
}
|
|
121
135
|
//#endregion
|
|
122
|
-
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, transformPlugin, transformRules };
|
|
136
|
+
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, config$3 as oxlintConfigTestFiles, transformPlugin, transformRules };
|
|
123
137
|
|
|
124
138
|
//# sourceMappingURL=utilities.mjs.map
|
package/dist/utilities.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.mjs","names":["config","rulesPerfectionist","rulesPerfectionist","rulesStylistic","oxlintConfigConfigFiles","config","oxlintConfigBase","rulesPerfectionist","rulesReact","oxlintConfigBaseReact","oxlintConfigBase"],"sources":["../src/config-config-files/oxlint.ts","../src/utilities/transform-plugin/index.ts","../src/utilities/transform-rules/index.ts","../src/config-base/oxlint.ts","../src/clone/index.ts","../src/config-react/oxlint.ts","../src/utilities/define-oxlint-config/index.ts"],"sourcesContent":["import type { OxlintOverrideEntry } from '../types/oxlint.d.ts';\nimport rulesPerfectionist from './rules-perfectionist.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Optional config entry containing rules that target config files. Intended for\n * explicit overrides.\n */\nconst config: OxlintOverrideEntry = {\n\trules: {\n\t\t...rulesPerfectionist,\n\t},\n};\n\nexport default config;\n","import type { OxlintPluginEntry } from '../../types/oxlint.d.ts';\nimport { fileURLToPath } from 'node:url';\n\n/**\n * Resolve an external plugin specifier.\n *\n * @deprecated Not covered by semver.\n */\nexport default function transformPlugin(\n\tname: string,\n\tspecifier: string\n): OxlintPluginEntry {\n\ttry {\n\t\t/* oxlint-disable-next-line eslint/no-param-reassign */\n\t\tspecifier = fileURLToPath(import.meta.resolve(specifier));\n\t} catch {}\n\n\treturn { name, specifier };\n}\n","import type { Linter } from 'eslint';\nimport type { LinterConfigRules } from '../../types/eslint.d.ts';\n\n/**\n * Modify a set of ESLint rules.\n *\n * @deprecated Not covered by semver.\n */\nexport default function transformRules(\n\trules: Linter.Config['rules'],\n\toptions: {\n\t\tomit?: ReadonlyArray<string>;\n\t\tprefix?: string;\n\t\tseverity?: Linter.StringSeverity;\n\t}\n): LinterConfigRules {\n\tif (!rules) {\n\t\treturn {};\n\t}\n\n\tconst { omit, prefix, severity } = options;\n\tconst omittedRules = new Set(omit);\n\n\tconst transformedRules: LinterConfigRules = {};\n\n\tfor (const [ruleName, ruleConfig] of Object.entries(rules)) {\n\t\tif (omittedRules.has(ruleName)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!Array.isArray(ruleConfig)) {\n\t\t\ttransformedRules[ruleName] = severity ?? ruleConfig ?? 'off';\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [ruleSeverity, ...ruleOptions] = ruleConfig;\n\n\t\ttransformedRules[ruleName] = [severity ?? ruleSeverity, ...ruleOptions];\n\t}\n\n\treturn typeof prefix === 'string'\n\t\t? prefixRules(transformedRules, prefix)\n\t\t: transformedRules;\n}\n\nfunction prefixRules(rules: LinterConfigRules, prefix: string) {\n\tconst prefixedRules: LinterConfigRules = {};\n\n\tfor (const [ruleName, ruleConfig] of Object.entries(rules)) {\n\t\tconst name = ruleName.replace(/^.*?\\//, '');\n\n\t\tprefixedRules[`${prefix}/${name}`] = ruleConfig;\n\t}\n\n\treturn prefixedRules;\n}\n","import type { OxlintConfig } from 'oxlint';\nimport oxlintConfigConfigFiles from '../config-config-files/oxlint.ts';\nimport transformPlugin from '../utilities/transform-plugin/index.ts';\nimport transformRules from '../utilities/transform-rules/index.ts';\nimport rulesPerfectionist from './rules-perfectionist.ts';\nimport rulesStylistic from './rules-stylistic.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Primary config entry. Does not include React-related rules.\n */\nconst config: OxlintConfig = {\n\tjsPlugins: [\n\t\ttransformPlugin('stylistic', '@stylistic/eslint-plugin'),\n\t\ttransformPlugin('perfectionist', 'eslint-plugin-perfectionist'),\n\t
|
|
1
|
+
{"version":3,"file":"utilities.mjs","names":["config","rulesPerfectionist","config","rulesReact","rulesPerfectionist","rulesStylistic","oxlintConfigTestFiles","oxlintConfigConfigFiles","config","oxlintConfigBase","rulesPerfectionist","rulesReact","oxlintConfigBaseReact","oxlintConfigBase"],"sources":["../src/config-config-files/oxlint.ts","../src/config-test-files/oxlint.ts","../src/utilities/transform-plugin/index.ts","../src/utilities/transform-rules/index.ts","../src/config-base/oxlint.ts","../src/clone/index.ts","../src/config-react/oxlint.ts","../src/utilities/define-oxlint-config/index.ts"],"sourcesContent":["import type { OxlintOverrideEntry } from '../types/oxlint.d.ts';\nimport rulesPerfectionist from './rules-perfectionist.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Optional config entry containing rules that target config files. Intended for\n * explicit overrides.\n */\nconst config: OxlintOverrideEntry = {\n\trules: {\n\t\t...rulesPerfectionist,\n\t},\n};\n\nexport default config;\n","import type { OxlintOverrideEntry } from '../types/oxlint.d.ts';\nimport rulesReact from './rules-react.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Optional config entry containing rules that target test files. Intended for\n * explicit overrides.\n */\nconst config: OxlintOverrideEntry = {\n\trules: {\n\t\t...rulesReact,\n\t},\n};\n\nexport default config;\n","import type { OxlintPluginEntry } from '../../types/oxlint.d.ts';\nimport { fileURLToPath } from 'node:url';\n\n/**\n * Resolve an external plugin specifier.\n *\n * @deprecated Not covered by semver.\n */\nexport default function transformPlugin(\n\tname: string,\n\tspecifier: string\n): OxlintPluginEntry {\n\ttry {\n\t\t/* oxlint-disable-next-line eslint/no-param-reassign */\n\t\tspecifier = fileURLToPath(import.meta.resolve(specifier));\n\t} catch {}\n\n\treturn { name, specifier };\n}\n","import type { Linter } from 'eslint';\nimport type { LinterConfigRules } from '../../types/eslint.d.ts';\n\n/**\n * Modify a set of ESLint rules.\n *\n * @deprecated Not covered by semver.\n */\nexport default function transformRules(\n\trules: Linter.Config['rules'],\n\toptions: {\n\t\tomit?: ReadonlyArray<string>;\n\t\tprefix?: string;\n\t\tseverity?: Linter.StringSeverity;\n\t}\n): LinterConfigRules {\n\tif (!rules) {\n\t\treturn {};\n\t}\n\n\tconst { omit, prefix, severity } = options;\n\tconst omittedRules = new Set(omit);\n\n\tconst transformedRules: LinterConfigRules = {};\n\n\tfor (const [ruleName, ruleConfig] of Object.entries(rules)) {\n\t\tif (omittedRules.has(ruleName)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!Array.isArray(ruleConfig)) {\n\t\t\ttransformedRules[ruleName] = severity ?? ruleConfig ?? 'off';\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [ruleSeverity, ...ruleOptions] = ruleConfig;\n\n\t\ttransformedRules[ruleName] = [severity ?? ruleSeverity, ...ruleOptions];\n\t}\n\n\treturn typeof prefix === 'string'\n\t\t? prefixRules(transformedRules, prefix)\n\t\t: transformedRules;\n}\n\nfunction prefixRules(rules: LinterConfigRules, prefix: string) {\n\tconst prefixedRules: LinterConfigRules = {};\n\n\tfor (const [ruleName, ruleConfig] of Object.entries(rules)) {\n\t\tconst name = ruleName.replace(/^.*?\\//, '');\n\n\t\tprefixedRules[`${prefix}/${name}`] = ruleConfig;\n\t}\n\n\treturn prefixedRules;\n}\n","import type { OxlintConfig } from 'oxlint';\nimport oxlintConfigConfigFiles from '../config-config-files/oxlint.ts';\nimport oxlintConfigTestFiles from '../config-test-files/oxlint.ts';\nimport transformPlugin from '../utilities/transform-plugin/index.ts';\nimport transformRules from '../utilities/transform-rules/index.ts';\nimport rulesPerfectionist from './rules-perfectionist.ts';\nimport rulesStylistic from './rules-stylistic.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Primary config entry. Does not include React-related rules.\n */\nconst config: OxlintConfig = {\n\tjsPlugins: [\n\t\ttransformPlugin('stylistic', '@stylistic/eslint-plugin'),\n\t\ttransformPlugin('perfectionist', 'eslint-plugin-perfectionist'),\n\t\ttransformPlugin('react-x', '@eslint-react/eslint-plugin'),\n\t],\n\trules: {\n\t\t...transformRules(rulesPerfectionist, {\n\t\t\tomit: [\n\t\t\t\t// Likely to crash Oxlint\n\t\t\t\t'perfectionist/sort-classes',\n\t\t\t],\n\t\t}),\n\t\t...transformRules(rulesStylistic, {\n\t\t\tprefix: 'stylistic',\n\t\t}),\n\t},\n\toverrides: [\n\t\t{\n\t\t\tfiles: [\n\t\t\t\t/* prettier-ignore */\n\t\t\t\t'**/*.test.{ts,tsx,cts,mts}',\n\t\t\t\t'**/*.test-d.{ts,cts,mts}',\n\t\t\t],\n\t\t\t...oxlintConfigTestFiles,\n\t\t},\n\t\t{\n\t\t\tfiles: [\n\t\t\t\t/* prettier-ignore */\n\t\t\t\t'**/*.config.{ts,cts,mts}',\n\t\t\t],\n\t\t\t...oxlintConfigConfigFiles,\n\t\t},\n\t],\n};\n\nexport default config;\n","export default function clone<T>(value: T): T {\n\ttry {\n\t\t/* oxlint-disable-next-line eslint/no-param-reassign */\n\t\tvalue = structuredClone(value);\n\t} catch {}\n\n\treturn value;\n}\n","import type { OxlintConfig } from 'oxlint';\nimport clone from '../clone/index.ts';\nimport oxlintConfigBase from '../config-base/oxlint.ts';\nimport transformRules from '../utilities/transform-rules/index.ts';\nimport rulesPerfectionist from './rules-perfectionist.ts';\nimport rulesReact from './rules-react.ts';\n\n/**\n * Standard Config’s ESLint config translated for Oxlint.\n *\n * Primary config entry. Includes React-related rules.\n */\nconst config: OxlintConfig = {\n\t...clone(oxlintConfigBase),\n\n\tsettings: {\n\t\t'react-x': {\n\t\t\tversion: 'detect',\n\t\t},\n\t},\n};\n\nconfig.overrides!.unshift({\n\tfiles: [\n\t\t/* prettier-ignore */\n\t\t'**/*.tsx',\n\t],\n\trules: {\n\t\t...rulesPerfectionist,\n\t\t...transformRules(rulesReact, {\n\t\t\tomit: [\n\t\t\t\t// Oxlint doesn’t support type-aware rules\n\t\t\t\t'react-x/no-implicit-key',\n\t\t\t\t'react-x/no-leaked-conditional-rendering',\n\t\t\t],\n\t\t}),\n\t},\n});\n\nexport default config;\n","import type { OxlintConfig } from 'oxlint';\nimport type { StandardConfig } from '../../types/oxlint.d.ts';\nimport oxlintConfigBase from '../../config-base/oxlint.ts';\nimport oxlintConfigBaseReact from '../../config-react/oxlint.ts';\n\n/* oxlint-disable-next-line typescript/consistent-type-imports */\nlet oxlintConfig: typeof import('@standard-config/oxlint') | undefined;\n\ntry {\n\toxlintConfig = await import('@standard-config/oxlint');\n} catch {}\n\n/**\n * Wrapper around `defineConfig` from `@standard-config/oxlint` that combines\n * Standard Config’s Oxlint and ESLint configs, with optional overrides.\n */\nexport default function defineOxlintConfig(\n\t...configs: StandardConfig[]\n): OxlintConfig {\n\tconst { defineConfig } = oxlintConfig ?? {};\n\n\tif (typeof defineConfig !== 'function') {\n\t\t/* oxlint-disable-next-line eslint-plugin-unicorn/prefer-type-error */\n\t\tthrow new Error(\n\t\t\t'Standard Config error: `@standard-config/oxlint` is missing'\n\t\t);\n\t}\n\n\tlet includeReactConfig = false;\n\n\tfor (const { react } of configs) {\n\t\tif (react !== undefined) {\n\t\t\tincludeReactConfig = react;\n\t\t}\n\t}\n\n\treturn defineConfig(\n\t\tincludeReactConfig ? oxlintConfigBaseReact : oxlintConfigBase,\n\t\t...configs\n\t);\n}\n"],"mappings":";;;;;;;;;AASA,MAAMA,WAA8B,EACnC,OAAO,EACN,GAAGC,OACH,EACD;;;;;;;;;ACJD,MAAMC,WAA8B,EACnC,OAAO,EACN,GAAGC,SACH,EACD;;;;;;;;ACLD,SAAwB,gBACvB,MACA,WACoB;AACpB,KAAI;AAEH,cAAY,cAAc,OAAO,KAAK,QAAQ,UAAU,CAAC;SAClD;AAER,QAAO;EAAE;EAAM;EAAW;;;;;;;;;ACT3B,SAAwB,eACvB,OACA,SAKoB;AACpB,KAAI,CAAC,MACJ,QAAO,EAAE;CAGV,MAAM,EAAE,MAAM,QAAQ,aAAa;CACnC,MAAM,eAAe,IAAI,IAAI,KAAK;CAElC,MAAM,mBAAsC,EAAE;AAE9C,MAAK,MAAM,CAAC,UAAU,eAAe,OAAO,QAAQ,MAAM,EAAE;AAC3D,MAAI,aAAa,IAAI,SAAS,CAC7B;AAGD,MAAI,CAAC,MAAM,QAAQ,WAAW,EAAE;AAC/B,oBAAiB,YAAY,YAAY,cAAc;AACvD;;EAGD,MAAM,CAAC,cAAc,GAAG,eAAe;AAEvC,mBAAiB,YAAY,CAAC,YAAY,cAAc,GAAG,YAAY;;AAGxE,QAAO,OAAO,WAAW,WACtB,YAAY,kBAAkB,OAAO,GACrC;;AAGJ,SAAS,YAAY,OAA0B,QAAgB;CAC9D,MAAM,gBAAmC,EAAE;AAE3C,MAAK,MAAM,CAAC,UAAU,eAAe,OAAO,QAAQ,MAAM,EAAE;EAC3D,MAAM,OAAO,SAAS,QAAQ,UAAU,GAAG;AAE3C,gBAAc,GAAG,OAAO,GAAG,UAAU;;AAGtC,QAAO;;;;;;;;;ACzCR,MAAM,SAAuB;CAC5B,WAAW;EACV,gBAAgB,aAAa,2BAA2B;EACxD,gBAAgB,iBAAiB,8BAA8B;EAC/D,gBAAgB,WAAW,8BAA8B;EACzD;CACD,OAAO;EACN,GAAG,eAAeC,SAAoB,EACrC,MAAM,CAEL,6BACA,EACD,CAAC;EACF,GAAG,eAAeC,SAAgB,EACjC,QAAQ,aACR,CAAC;EACF;CACD,WAAW,CACV;EACC,OAAO,CAEN,8BACA,2BACA;EACD,GAAGC;EACH,EACD;EACC,OAAO,CAEN,2BACA;EACD,GAAGC;EACH,CACD;CACD;;;AC/CD,SAAwB,MAAS,OAAa;AAC7C,KAAI;AAEH,UAAQ,gBAAgB,MAAM;SACvB;AAER,QAAO;;;;;;;;;ACMR,MAAMC,WAAuB;CAC5B,GAAG,MAAMC,OAAiB;CAE1B,UAAU,EACT,WAAW,EACV,SAAS,UACT,EACD;CACD;AAEDD,SAAO,UAAW,QAAQ;CACzB,OAAO,CAEN,WACA;CACD,OAAO;EACN,GAAGE;EACH,GAAG,eAAeC,SAAY,EAC7B,MAAM,CAEL,2BACA,0CACA,EACD,CAAC;EACF;CACD,CAAC;;;AC/BF,IAAI;AAEJ,IAAI;AACH,gBAAe,MAAM,OAAO;QACrB;;;;;AAMR,SAAwB,mBACvB,GAAG,SACY;CACf,MAAM,EAAE,iBAAiB,gBAAgB,EAAE;AAE3C,KAAI,OAAO,iBAAiB,WAE3B,OAAM,IAAI,MACT,8DACA;CAGF,IAAI,qBAAqB;AAEzB,MAAK,MAAM,EAAE,WAAW,QACvB,KAAI,UAAU,KAAA,EACb,sBAAqB;AAIvB,QAAO,aACN,qBAAqBC,WAAwBC,QAC7C,GAAG,QACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@standard-config/eslint",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "TypeScript-first ESLint config designed to complement Oxlint",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"node": ">=22"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
+
"@eslint-react/eslint-plugin": "^5.6.0",
|
|
45
46
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
46
|
-
"eslint-plugin-perfectionist": "^5.
|
|
47
|
-
"eslint-plugin-react-x": "^3.0.0"
|
|
47
|
+
"eslint-plugin-perfectionist": "^5.9.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@standard-config/oxlint": ">=1.3.0",
|
|
51
|
-
"eslint": ">=10.
|
|
51
|
+
"eslint": ">=10.2.1",
|
|
52
52
|
"typescript-eslint": ">=8.56.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependenciesMeta": {
|
|
@@ -63,22 +63,21 @@
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@eslint/compat": "^2.0.
|
|
67
|
-
"@standard-config/oxlint": "^1.
|
|
68
|
-
"@standard-config/prettier": "^1.
|
|
66
|
+
"@eslint/compat": "^2.0.5",
|
|
67
|
+
"@standard-config/oxlint": "^1.9.0",
|
|
68
|
+
"@standard-config/prettier": "^1.12.1",
|
|
69
69
|
"@standard-config/tsconfig": "^3.1.0",
|
|
70
|
-
"@types/node": "^22.19.
|
|
71
|
-
"@vitest/coverage-v8": "^4.1.
|
|
72
|
-
"eslint": "^10.1
|
|
70
|
+
"@types/node": "^22.19.17",
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
72
|
+
"eslint": "^10.2.1",
|
|
73
73
|
"jiti": "^2.6.1",
|
|
74
|
-
"oxlint": "^1.
|
|
75
|
-
"prettier": "^3.8.
|
|
74
|
+
"oxlint": "^1.62.0",
|
|
75
|
+
"prettier": "^3.8.3",
|
|
76
76
|
"publint": "^0.3.18",
|
|
77
|
-
"
|
|
78
|
-
"typescript": "^
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"vitest": "^4.1.2"
|
|
77
|
+
"typescript": "^6.0.3",
|
|
78
|
+
"typescript-eslint": "^8.59.1",
|
|
79
|
+
"vite-plus": "^0.1.19",
|
|
80
|
+
"vitest": "^4.1.5"
|
|
82
81
|
},
|
|
83
82
|
"scripts": {
|
|
84
83
|
"build": "vp pack",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules-react-DmzrAlni.mjs","names":["rules","rules","rules","rules"],"sources":["../src/config-base/rules-perfectionist.ts","../src/config-base/rules-stylistic.ts","../src/config-config-files/rules-perfectionist.ts","../src/config-react/rules-perfectionist.ts","../src/config-react/rules-react.ts"],"sourcesContent":["import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-array-includes': ['error', { type: 'natural' }],\n\t'perfectionist/sort-classes': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['property', 'constructor'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-exports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-imports': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'mock-side-effect',\n\t\t\t\t\telementNamePattern: '^.*/_*(mocks)_*/.*$',\n\t\t\t\t\tselector: 'side-effect',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'mock',\n\t\t\t\t\telementNamePattern: '^.*/_*(mocks)_*/.*$',\n\t\t\t\t\tselector: 'import',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'mock-side-effect',\n\t\t\t\t'mock',\n\t\t\t\t['type-builtin', 'type-external'],\n\t\t\t\t'type-internal',\n\t\t\t\t['type-parent', 'type-sibling', 'type-index'],\n\t\t\t\t['value-builtin', 'value-external'],\n\t\t\t\t'value-internal',\n\t\t\t\t['value-parent', 'value-sibling', 'value-index'],\n\t\t\t\t'unknown',\n\t\t\t\t'style',\n\t\t\t\t'side-effect',\n\t\t\t\t'side-effect-style',\n\t\t\t],\n\t\t\tinternalPattern: ['^(#|@/).*'],\n\t\t\tnewlinesBetween: 0,\n\t\t\tsortSideEffects: true,\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-interfaces': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['index-signature', 'unknown', 'method'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-intersection-types': ['error', { type: 'natural' }],\n\t'perfectionist/sort-named-exports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-named-imports': ['error', { type: 'natural' }],\n\t'perfectionist/sort-object-types': [\n\t\t'error',\n\t\t{\n\t\t\tgroups: ['index-signature', 'unknown', 'method'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n\t'perfectionist/sort-objects': [\n\t\t'error',\n\t\t{\n\t\t\ttype: 'natural',\n\t\t\tuseConfigurationIf: {\n\t\t\t\tobjectType: 'destructured',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'unsorted',\n\t\t\tuseConfigurationIf: {\n\t\t\t\tobjectType: 'non-destructured',\n\t\t\t},\n\t\t},\n\t],\n\t'perfectionist/sort-union-types': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'false',\n\t\t\t\t\telementNamePattern: '^false$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'never',\n\t\t\t\t\telementNamePattern: '^never$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'react',\n\t\t\t\t\telementNamePattern: '^react.+',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: ['react', 'unknown', 'tuple', 'false', 'nullish', 'never'],\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'@stylistic/lines-between-class-members': [\n\t\t'error',\n\t\t'always',\n\t\t{ exceptAfterSingleLine: true },\n\t],\n\t'@stylistic/padding-line-between-statements': [\n\t\t'error',\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: '*',\n\t\t\tprev: [\n\t\t\t\t'block-like',\n\t\t\t\t'directive',\n\t\t\t\t'export',\n\t\t\t\t'function',\n\t\t\t\t'import',\n\t\t\t\t'interface',\n\t\t\t\t'type',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: [\n\t\t\t\t'block-like',\n\t\t\t\t'directive',\n\t\t\t\t'export',\n\t\t\t\t'function',\n\t\t\t\t'import',\n\t\t\t\t'interface',\n\t\t\t\t'type',\n\t\t\t],\n\t\t\tprev: '*',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: ['break', 'continue', 'return', 'throw'],\n\t\t\tprev: 'block-like',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'always',\n\t\t\tnext: '*',\n\t\t\tprev: ['case', 'default'],\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: 'directive',\n\t\t\tprev: 'directive',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'export',\n\t\t\tprev: 'export',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: ['function', 'function-overload'],\n\t\t\tprev: 'function-overload',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'never',\n\t\t\tnext: 'import',\n\t\t\tprev: 'import',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'interface',\n\t\t\tprev: 'interface',\n\t\t},\n\t\t{\n\t\t\tblankLine: 'any',\n\t\t\tnext: 'type',\n\t\t\tprev: 'type',\n\t\t},\n\t],\n\t'@stylistic/spaced-comment': [\n\t\t'error',\n\t\t'always',\n\t\t{\n\t\t\tblock: {\n\t\t\t\tbalanced: true,\n\t\t\t},\n\t\t\tline: {\n\t\t\t\tmarkers: ['/'],\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-objects': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'extends',\n\t\t\t\t\telementNamePattern: '^extends$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'files',\n\t\t\t\t\telementNamePattern: '^files$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'ignores',\n\t\t\t\t\telementNamePattern: '^(ignores|ignorePatterns)$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'name',\n\t\t\t\t\telementNamePattern: '^(name|groupName)$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'overrides',\n\t\t\t\t\telementNamePattern: '^overrides$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'parser',\n\t\t\t\t\telementNamePattern: '^parser$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'plugins',\n\t\t\t\t\telementNamePattern: '^plugins$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'rules',\n\t\t\t\t\telementNamePattern: '^rules$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'test',\n\t\t\t\t\telementNamePattern: '^(test|tests)$',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'name',\n\t\t\t\t'files',\n\t\t\t\t'extends',\n\t\t\t\t'ignores',\n\t\t\t\t'plugins',\n\t\t\t\t'parser',\n\t\t\t\t'test',\n\t\t\t\t'unknown',\n\t\t\t\t'rules',\n\t\t\t\t'overrides',\n\t\t\t],\n\t\t\tnewlinesBetween: 0,\n\t\t\ttype: 'natural',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'perfectionist/sort-jsx-props': [\n\t\t'error',\n\t\t{\n\t\t\tcustomGroups: [\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'as',\n\t\t\t\t\telementNamePattern: '^as$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'callback',\n\t\t\t\t\telementNamePattern: '^on.+',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'children',\n\t\t\t\t\telementNamePattern: '^children$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'key',\n\t\t\t\t\telementNamePattern: '^key$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'ref',\n\t\t\t\t\telementNamePattern: '^ref$',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tgroupName: 'unsafe',\n\t\t\t\t\telementNamePattern: '^dangerously.+',\n\t\t\t\t},\n\t\t\t],\n\t\t\tgroups: [\n\t\t\t\t'key',\n\t\t\t\t'ref',\n\t\t\t\t'as',\n\t\t\t\t'unknown',\n\t\t\t\t'shorthand-prop',\n\t\t\t\t'callback',\n\t\t\t\t'children',\n\t\t\t\t'unsafe',\n\t\t\t],\n\t\t\ttype: 'unsorted',\n\t\t},\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'react-x/component-hook-factories': 'error',\n\t'react-x/error-boundaries': 'error',\n\t'react-x/immutability': 'error',\n\t'react-x/jsx-dollar': 'error',\n\t'react-x/jsx-key-before-spread': 'error',\n\t'react-x/no-access-state-in-setstate': 'error',\n\t'react-x/no-class-component': 'error',\n\t'react-x/no-context-provider': 'error',\n\t'react-x/no-duplicate-key': 'error',\n\t'react-x/no-forward-ref': 'error',\n\t'react-x/no-implicit-key': 'error',\n\t'react-x/no-leaked-conditional-rendering': 'error',\n\t'react-x/no-misused-capture-owner-stack': 'error',\n\t'react-x/no-nested-component-definitions': 'error',\n\t'react-x/no-nested-lazy-component-declarations': 'error',\n\t'react-x/no-unnecessary-use-callback': 'error',\n\t'react-x/no-unnecessary-use-memo': 'error',\n\t'react-x/no-unstable-context-value': 'error',\n\t'react-x/no-unstable-default-props': 'error',\n\t'react-x/no-use-context': 'error',\n\t'react-x/prefer-destructuring-assignment': 'error',\n\t'react-x/purity': 'error',\n\t'react-x/refs': 'error',\n\t'react-x/set-state-in-effect': 'error',\n\t'react-x/set-state-in-render': 'error',\n\t'react-x/unsupported-syntax': 'error',\n\t'react-x/use-memo': 'error',\n\t'react-x/use-state': 'error',\n};\n\nexport default rules;\n"],"mappings":";AAEA,MAAMA,UAA2B;CAChC,qCAAqC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CACnE,8BAA8B,CAC7B,SACA;EACC,QAAQ,CAAC,YAAY,cAAc;EACnC,MAAM;EACN,CACD;CACD,8BAA8B,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAC5D,8BAA8B,CAC7B,SACA;EACC,cAAc,CACb;GACC,WAAW;GACX,oBAAoB;GACpB,UAAU;GACV,EACD;GACC,WAAW;GACX,oBAAoB;GACpB,UAAU;GACV,CACD;EACD,QAAQ;GACP;GACA;GACA,CAAC,gBAAgB,gBAAgB;GACjC;GACA;IAAC;IAAe;IAAgB;IAAa;GAC7C,CAAC,iBAAiB,iBAAiB;GACnC;GACA;IAAC;IAAgB;IAAiB;IAAc;GAChD;GACA;GACA;GACA;GACA;EACD,iBAAiB,CAAC,YAAY;EAC9B,iBAAiB;EACjB,iBAAiB;EACjB,MAAM;EACN,CACD;CACD,iCAAiC,CAChC,SACA;EACC,QAAQ;GAAC;GAAmB;GAAW;GAAS;EAChD,MAAM;EACN,CACD;CACD,yCAAyC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CACvE,oCAAoC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAClE,oCAAoC,CAAC,SAAS,EAAE,MAAM,WAAW,CAAC;CAClE,mCAAmC,CAClC,SACA;EACC,QAAQ;GAAC;GAAmB;GAAW;GAAS;EAChD,MAAM;EACN,CACD;CACD,8BAA8B;EAC7B;EACA;GACC,MAAM;GACN,oBAAoB,EACnB,YAAY,gBACZ;GACD;EACD;GACC,MAAM;GACN,oBAAoB,EACnB,YAAY,oBACZ;GACD;EACD;CACD,kCAAkC,CACjC,SACA;EACC,cAAc;GACb;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;IACC,WAAW;IACX,oBAAoB;IACpB;GACD;EACD,QAAQ;GAAC;GAAS;GAAW;GAAS;GAAS;GAAW;GAAQ;EAClE,MAAM;EACN,CACD;CACD;;;AClGD,MAAMC,UAA2B;CAChC,0CAA0C;EACzC;EACA;EACA,EAAE,uBAAuB,MAAM;EAC/B;CACD,8CAA8C;EAC7C;EACA;GACC,WAAW;GACX,MAAM;GACN,MAAM;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;EACD;GACC,WAAW;GACX,MAAM;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;IAAC;IAAS;IAAY;IAAU;IAAQ;GAC9C,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM,CAAC,QAAQ,UAAU;GACzB;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM,CAAC,YAAY,oBAAoB;GACvC,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;GACC,WAAW;GACX,MAAM;GACN,MAAM;GACN;EACD;CACD,6BAA6B;EAC5B;EACA;EACA;GACC,OAAO,EACN,UAAU,MACV;GACD,MAAM,EACL,SAAS,CAAC,IAAI,EACd;GACD;EACD;CACD;;;ACvFD,MAAMC,UAA2B,EAChC,8BAA8B,CAC7B,SACA;CACC,cAAc;EACb;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;CACD,QAAQ;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,iBAAiB;CACjB,MAAM;CACN,CACD,EACD;;;AC1DD,MAAMC,UAA2B,EAChC,gCAAgC,CAC/B,SACA;CACC,cAAc;EACb;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;GACC,WAAW;GACX,oBAAoB;GACpB;EACD;CACD,QAAQ;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,MAAM;CACN,CACD,EACD;;;AC3CD,MAAM,QAA2B;CAChC,oCAAoC;CACpC,4BAA4B;CAC5B,wBAAwB;CACxB,sBAAsB;CACtB,iCAAiC;CACjC,uCAAuC;CACvC,8BAA8B;CAC9B,+BAA+B;CAC/B,4BAA4B;CAC5B,0BAA0B;CAC1B,2BAA2B;CAC3B,2CAA2C;CAC3C,0CAA0C;CAC1C,2CAA2C;CAC3C,iDAAiD;CACjD,uCAAuC;CACvC,mCAAmC;CACnC,qCAAqC;CACrC,qCAAqC;CACrC,0BAA0B;CAC1B,2CAA2C;CAC3C,kBAAkB;CAClB,gBAAgB;CAChB,+BAA+B;CAC/B,+BAA+B;CAC/B,8BAA8B;CAC9B,oBAAoB;CACpB,qBAAqB;CACrB"}
|