@standard-config/eslint 2.0.1 → 2.1.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 +47 -14
- package/dist/index.mjs.map +1 -1
- package/dist/{rules-react-CX3lvpmg.mjs → rules-react-CQ7tgPGt.mjs} +16 -18
- package/dist/rules-react-CQ7tgPGt.mjs.map +1 -0
- package/dist/utilities.d.mts +10 -1
- package/dist/utilities.d.mts.map +1 -1
- package/dist/utilities.mjs +20 -6
- package/dist/utilities.mjs.map +1 -1
- package/package.json +16 -18
- package/dist/rules-react-CX3lvpmg.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;;;cAaxD,MAAA,EAAQ,iBAAA;;;;;;AAbgD;;;;cCWxD,QAAA,EAAQ,iBAAA;;;;;;ADXgD;;;;cEaxD,QAAA,EAAQ,iBAAA;;;;;
|
|
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;;;cAaxD,MAAA,EAAQ,iBAAA;;;;;;AAbgD;;;;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,8 +1,9 @@
|
|
|
1
|
-
import { a as rules$
|
|
1
|
+
import { a as rules$2, i as rules$3, n as rules$5, o as rules$1, r as rules$4, t as rules$6 } from "./rules-react-CQ7tgPGt.mjs";
|
|
2
2
|
import pluginStylistic from "@stylistic/eslint-plugin";
|
|
3
3
|
import pluginPerfectionist from "eslint-plugin-perfectionist";
|
|
4
4
|
import pluginReact from "eslint-plugin-react-x";
|
|
5
5
|
import { defineConfig as defineConfig$1 } from "eslint/config";
|
|
6
|
+
//#endregion
|
|
6
7
|
//#region src/config-base/eslint.ts
|
|
7
8
|
/**
|
|
8
9
|
* Primary config entry.
|
|
@@ -21,7 +22,12 @@ const config = {
|
|
|
21
22
|
reportUnusedInlineConfigs: "error"
|
|
22
23
|
},
|
|
23
24
|
rules: {
|
|
24
|
-
|
|
25
|
+
"camelcase": ["error", { properties: "always" }],
|
|
26
|
+
"func-name-matching": [
|
|
27
|
+
"error",
|
|
28
|
+
"never",
|
|
29
|
+
{ considerPropertyDescriptor: true }
|
|
30
|
+
],
|
|
25
31
|
...rules$1,
|
|
26
32
|
...rules$2
|
|
27
33
|
}
|
|
@@ -74,23 +80,51 @@ const config$2 = {
|
|
|
74
80
|
}
|
|
75
81
|
};
|
|
76
82
|
//#endregion
|
|
83
|
+
//#region src/config-test-files/eslint.ts
|
|
84
|
+
/**
|
|
85
|
+
* Optional config entry containing rules that target test files. Intended for
|
|
86
|
+
* explicit overrides.
|
|
87
|
+
*
|
|
88
|
+
* This config is intentionally limited to rules not supported by Oxlint
|
|
89
|
+
* and stylistic rules outside of Prettier’s scope.
|
|
90
|
+
*/
|
|
91
|
+
const config$3 = {
|
|
92
|
+
name: "Test Files",
|
|
93
|
+
plugins: { "react-x": pluginReact },
|
|
94
|
+
rules: { ...rules$6 }
|
|
95
|
+
};
|
|
96
|
+
//#endregion
|
|
77
97
|
//#region src/define-config/index.ts
|
|
78
98
|
/**
|
|
79
99
|
* Combine Standard Config with optional additional config.
|
|
80
100
|
*/
|
|
81
101
|
function defineConfig(...configs) {
|
|
82
|
-
|
|
102
|
+
const { extensionConfigs, includeReactConfig } = normalizeExtensionConfigs(configs);
|
|
103
|
+
return defineConfig$1([{
|
|
83
104
|
name: "Standard Config",
|
|
84
|
-
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
85
105
|
extends: [
|
|
86
|
-
|
|
106
|
+
{
|
|
107
|
+
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
108
|
+
...config
|
|
109
|
+
},
|
|
110
|
+
includeReactConfig ? {
|
|
111
|
+
files: ["**/*.tsx"],
|
|
112
|
+
...config$2
|
|
113
|
+
} : [],
|
|
114
|
+
{
|
|
115
|
+
files: ["**/*.test.{ts,tsx,cts,mts}", "**/*.test-d.{ts,cts,mts}"],
|
|
116
|
+
...config$3
|
|
117
|
+
},
|
|
87
118
|
{
|
|
88
119
|
files: ["**/*.config.{ts,cts,mts}"],
|
|
89
120
|
...config$1
|
|
90
|
-
}
|
|
91
|
-
...normalizeExtensionConfigs(configs)
|
|
121
|
+
}
|
|
92
122
|
]
|
|
93
|
-
}
|
|
123
|
+
}, extensionConfigs.length > 0 ? {
|
|
124
|
+
name: "Standard Config Extensions",
|
|
125
|
+
files: ["**/*.{ts,tsx,cts,mts}"],
|
|
126
|
+
extends: extensionConfigs
|
|
127
|
+
} : []]);
|
|
94
128
|
}
|
|
95
129
|
function normalizeExtensionConfigs(configs) {
|
|
96
130
|
const extensionConfigs = [];
|
|
@@ -100,13 +134,12 @@ function normalizeExtensionConfigs(configs) {
|
|
|
100
134
|
if (Object.keys(otherConfig).length > 0) extensionConfigs.push(defineConfig$1(otherConfig));
|
|
101
135
|
if (react !== void 0) includeReactConfig = react;
|
|
102
136
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
return extensionConfigs;
|
|
137
|
+
return {
|
|
138
|
+
extensionConfigs,
|
|
139
|
+
includeReactConfig
|
|
140
|
+
};
|
|
108
141
|
}
|
|
109
142
|
//#endregion
|
|
110
|
-
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, defineConfig };
|
|
143
|
+
export { config as configBase, config$1 as configConfigFiles, config$2 as configReact, config$3 as configTestFiles, defineConfig };
|
|
111
144
|
|
|
112
145
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["rulesCore","rulesPerfectionist","rulesStylistic","config","rulesPerfectionist","config","rulesPerfectionist","rulesReact","eslintDefineConfig","configBase","
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["rulesCore","rulesPerfectionist","rulesStylistic","config","rulesPerfectionist","config","rulesPerfectionist","rulesReact","config","rulesReact","eslintDefineConfig","configBase","configReact","configTestFiles","configConfigFiles"],"sources":["../src/config-base/rules-core.ts","../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 { LinterConfigRules } from '../types/eslint.d.ts';\n\nconst rules: LinterConfigRules = {\n\t'camelcase': ['error', { properties: 'always' }],\n\t'func-name-matching': [\n\t\t'error',\n\t\t'never',\n\t\t{ considerPropertyDescriptor: true },\n\t],\n};\n\nexport default rules;\n","import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginStylistic from '@stylistic/eslint-plugin';\nimport pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport rulesCore from './rules-core.ts';\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...rulesCore,\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 pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport pluginReact from 'eslint-plugin-react-x';\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\treact: {\n\t\t\tversion: 'detect',\n\t\t},\n\t},\n\trules: {\n\t\t...rulesPerfectionist,\n\t\t...rulesReact,\n\t\t...rulesReact,\n\t},\n};\n\nexport default config;\n","import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginReact from 'eslint-plugin-react-x';\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":";;;;;;;;;;;;;ACaA,MAAM,SAA4B;CACjC,MAAM;CACN,SAAS;EACR,cAAc;EACd,iBAAiB;EACjB;CACD,eAAe;EACd,+BAA+B;EAC/B,2BAA2B;EAC3B;CACD,OAAO;EDpBP,aAAa,CAAC,SAAS,EAAE,YAAY,UAAU,CAAC;EAChD,sBAAsB;GACrB;GACA;GACA,EAAE,4BAA4B,MAAM;GACpC;ECiBA,GAAGC;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;;;;;;;;;;ACjCF,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,OAAO,EACN,SAAS,UACT,EACD;CACD,OAAO;EACN,GAAGC;EACH,GAAGC;EACH,GAAGA;EACH;CACD;;;;;;;;;;AClBD,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,15 +1,5 @@
|
|
|
1
|
-
//#region src/config-base/rules-core.ts
|
|
2
|
-
const rules$5 = {
|
|
3
|
-
"camelcase": ["error", { properties: "always" }],
|
|
4
|
-
"func-name-matching": [
|
|
5
|
-
"error",
|
|
6
|
-
"never",
|
|
7
|
-
{ considerPropertyDescriptor: true }
|
|
8
|
-
]
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
1
|
//#region src/config-base/rules-perfectionist.ts
|
|
12
|
-
const rules$
|
|
2
|
+
const rules$5 = {
|
|
13
3
|
"perfectionist/sort-array-includes": ["error", { type: "natural" }],
|
|
14
4
|
"perfectionist/sort-classes": ["error", {
|
|
15
5
|
groups: ["property", "constructor"],
|
|
@@ -111,7 +101,7 @@ const rules$4 = {
|
|
|
111
101
|
};
|
|
112
102
|
//#endregion
|
|
113
103
|
//#region src/config-base/rules-stylistic.ts
|
|
114
|
-
const rules$
|
|
104
|
+
const rules$4 = {
|
|
115
105
|
"@stylistic/lines-between-class-members": [
|
|
116
106
|
"error",
|
|
117
107
|
"always",
|
|
@@ -202,7 +192,7 @@ const rules$3 = {
|
|
|
202
192
|
};
|
|
203
193
|
//#endregion
|
|
204
194
|
//#region src/config-config-files/rules-perfectionist.ts
|
|
205
|
-
const rules$
|
|
195
|
+
const rules$3 = { "perfectionist/sort-objects": ["error", {
|
|
206
196
|
customGroups: [
|
|
207
197
|
{
|
|
208
198
|
groupName: "extends",
|
|
@@ -258,7 +248,7 @@ const rules$2 = { "perfectionist/sort-objects": ["error", {
|
|
|
258
248
|
}] };
|
|
259
249
|
//#endregion
|
|
260
250
|
//#region src/config-react/rules-perfectionist.ts
|
|
261
|
-
const rules$
|
|
251
|
+
const rules$2 = { "perfectionist/sort-jsx-props": ["error", {
|
|
262
252
|
customGroups: [
|
|
263
253
|
{
|
|
264
254
|
groupName: "as",
|
|
@@ -299,12 +289,10 @@ const rules$1 = { "perfectionist/sort-jsx-props": ["error", {
|
|
|
299
289
|
}] };
|
|
300
290
|
//#endregion
|
|
301
291
|
//#region src/config-react/rules-react.ts
|
|
302
|
-
const rules = {
|
|
292
|
+
const rules$1 = {
|
|
303
293
|
"react-x/component-hook-factories": "error",
|
|
304
294
|
"react-x/error-boundaries": "error",
|
|
305
295
|
"react-x/immutability": "error",
|
|
306
|
-
"react-x/jsx-dollar": "error",
|
|
307
|
-
"react-x/jsx-key-before-spread": "error",
|
|
308
296
|
"react-x/no-access-state-in-setstate": "error",
|
|
309
297
|
"react-x/no-class-component": "error",
|
|
310
298
|
"react-x/no-context-provider": "error",
|
|
@@ -330,6 +318,16 @@ const rules = {
|
|
|
330
318
|
"react-x/use-state": "error"
|
|
331
319
|
};
|
|
332
320
|
//#endregion
|
|
321
|
+
//#region src/config-test-files/rules-react.ts
|
|
322
|
+
const rules = {
|
|
323
|
+
"react-x/component-hook-factories": "off",
|
|
324
|
+
"react-x/no-nested-component-definitions": "off",
|
|
325
|
+
"react-x/no-nested-lazy-component-declarations": "off",
|
|
326
|
+
"react-x/no-unnecessary-use-callback": "off",
|
|
327
|
+
"react-x/no-unnecessary-use-memo": "off",
|
|
328
|
+
"react-x/no-unstable-context-value": "off"
|
|
329
|
+
};
|
|
330
|
+
//#endregion
|
|
333
331
|
export { rules$4 as a, rules$3 as i, rules$1 as n, rules$5 as o, rules$2 as r, rules as t };
|
|
334
332
|
|
|
335
|
-
//# sourceMappingURL=rules-react-
|
|
333
|
+
//# sourceMappingURL=rules-react-CQ7tgPGt.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-react-CQ7tgPGt.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/component-hook-factories': 'error',\n\t'react-x/error-boundaries': 'error',\n\t'react-x/immutability': '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","import type { LinterConfigRules } from '../types/eslint.ts';\n\nconst rules: LinterConfigRules = {\n\t'react-x/component-hook-factories': '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-callback': 'off',\n\t'react-x/no-unnecessary-use-memo': 'off',\n\t'react-x/no-unstable-context-value': '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,oCAAoC;CACpC,4BAA4B;CAC5B,wBAAwB;CACxB,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;;;AC3BD,MAAM,QAA2B;CAChC,oCAAoC;CACpC,2CAA2C;CAC3C,iDAAiD;CACjD,uCAAuC;CACvC,mCAAmC;CACnC,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;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;
|
|
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-CQ7tgPGt.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,14 +72,20 @@ function prefixRules(rules, prefix) {
|
|
|
63
72
|
* Primary config entry. Does not include React-related rules.
|
|
64
73
|
*/
|
|
65
74
|
const config = {
|
|
66
|
-
jsPlugins: [
|
|
75
|
+
jsPlugins: [
|
|
76
|
+
transformPlugin("stylistic", "@stylistic/eslint-plugin"),
|
|
77
|
+
transformPlugin("perfectionist", "eslint-plugin-perfectionist"),
|
|
78
|
+
transformPlugin("react-x", "eslint-plugin-react-x")
|
|
79
|
+
],
|
|
67
80
|
settings: { react: { version: "19.2.4" } },
|
|
68
81
|
rules: {
|
|
69
|
-
...transformRules(rules$1, { prefix: "eslint" }),
|
|
70
82
|
...transformRules(rules$2, { omit: ["perfectionist/sort-classes"] }),
|
|
71
83
|
...transformRules(rules$3, { prefix: "stylistic" })
|
|
72
84
|
},
|
|
73
85
|
overrides: [{
|
|
86
|
+
files: ["**/*.test.{ts,tsx,cts,mts}", "**/*.test-d.{ts,cts,mts}"],
|
|
87
|
+
...config$3
|
|
88
|
+
}, {
|
|
74
89
|
files: ["**/*.config.{ts,cts,mts}"],
|
|
75
90
|
...config$2
|
|
76
91
|
}]
|
|
@@ -94,8 +109,7 @@ const config$1 = {
|
|
|
94
109
|
...clone(config),
|
|
95
110
|
settings: { react: { version: "19.2.4" } }
|
|
96
111
|
};
|
|
97
|
-
config$1.
|
|
98
|
-
config$1.overrides.push({
|
|
112
|
+
config$1.overrides.unshift({
|
|
99
113
|
files: ["**/*.tsx"],
|
|
100
114
|
rules: {
|
|
101
115
|
...rules$4,
|
|
@@ -120,6 +134,6 @@ function defineOxlintConfig(...configs) {
|
|
|
120
134
|
return defineConfig(includeReactConfig ? config$1 : config, ...configs);
|
|
121
135
|
}
|
|
122
136
|
//#endregion
|
|
123
|
-
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, transformPlugin, transformRules };
|
|
137
|
+
export { defineOxlintConfig, config as oxlintConfigBase, config$1 as oxlintConfigBaseReact, config$2 as oxlintConfigConfigFiles, config$3 as oxlintConfigTestFiles, transformPlugin, transformRules };
|
|
124
138
|
|
|
125
139
|
//# sourceMappingURL=utilities.mjs.map
|
package/dist/utilities.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.mjs","names":["config","rulesPerfectionist","
|
|
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-plugin-react-x'),\n\t],\n\tsettings: {\n\t\treact: {\n\t\t\t// Oxlint doesn’t support `detect`\n\t\t\tversion: '19.2.4',\n\t\t},\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\treact: {\n\t\t\t// Oxlint doesn’t support `detect`\n\t\t\tversion: '19.2.4',\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,wBAAwB;EACnD;CACD,UAAU,EACT,OAAO,EAEN,SAAS,UACT,EACD;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;;;ACrDD,SAAwB,MAAS,OAAa;AAC7C,KAAI;AAEH,UAAQ,gBAAgB,MAAM;SACvB;AAER,QAAO;;;;;;;;;ACMR,MAAMC,WAAuB;CAC5B,GAAG,MAAMC,OAAiB;CAE1B,UAAU,EACT,OAAO,EAEN,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;;;AChCF,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.1.0",
|
|
4
4
|
"description": "TypeScript-first ESLint config designed to complement Oxlint",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
46
|
-
"eslint-plugin-perfectionist": "^5.
|
|
47
|
-
"eslint-plugin-react-x": "^
|
|
46
|
+
"eslint-plugin-perfectionist": "^5.8.0",
|
|
47
|
+
"eslint-plugin-react-x": "^4.2.3"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@standard-config/oxlint": ">=1.3.0",
|
|
@@ -63,32 +63,30 @@
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@eslint/compat": "^2.0.
|
|
67
|
-
"@standard-config/oxlint": "^1.6.
|
|
68
|
-
"@standard-config/prettier": "^1.
|
|
66
|
+
"@eslint/compat": "^2.0.4",
|
|
67
|
+
"@standard-config/oxlint": "^1.6.2",
|
|
68
|
+
"@standard-config/prettier": "^1.12.0",
|
|
69
69
|
"@standard-config/tsconfig": "^3.1.0",
|
|
70
|
-
"@types/node": "^22.19.
|
|
71
|
-
"@vitest/coverage-v8": "^4.1.
|
|
72
|
-
"eslint": "^10.
|
|
73
|
-
"husky": "^9.1.7",
|
|
70
|
+
"@types/node": "^22.19.17",
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.3",
|
|
72
|
+
"eslint": "^10.2.0",
|
|
74
73
|
"jiti": "^2.6.1",
|
|
75
|
-
"oxlint": "^1.
|
|
76
|
-
"oxlint-tsgolint": "^0.17.3",
|
|
74
|
+
"oxlint": "^1.59.0",
|
|
77
75
|
"prettier": "^3.8.1",
|
|
78
76
|
"publint": "^0.3.18",
|
|
79
77
|
"react": "^19.2.4",
|
|
80
|
-
"tsdown": "^0.21.4",
|
|
81
78
|
"typescript": "^6.0.2",
|
|
82
|
-
"typescript-eslint": "^8.
|
|
83
|
-
"
|
|
79
|
+
"typescript-eslint": "^8.58.0",
|
|
80
|
+
"vite-plus": "^0.1.16",
|
|
81
|
+
"vitest": "^4.1.3"
|
|
84
82
|
},
|
|
85
83
|
"scripts": {
|
|
86
|
-
"build": "
|
|
84
|
+
"build": "vp pack",
|
|
87
85
|
"fix": "pnpm format && pnpm lint && pnpm format",
|
|
88
86
|
"format": "prettier --ignore-unknown --log-level=warn --write .",
|
|
89
87
|
"format:check": "prettier --check --ignore-unknown .",
|
|
90
|
-
"lint": "
|
|
91
|
-
"lint:check": "
|
|
88
|
+
"lint": "vp lint --fix && eslint --fix .",
|
|
89
|
+
"lint:check": "vp lint --deny-warnings --type-check && eslint .",
|
|
92
90
|
"test": "vitest run",
|
|
93
91
|
"typecheck": "tsc --noEmit"
|
|
94
92
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rules-react-CX3lvpmg.mjs","names":["rules","rules","rules","rules","rules"],"sources":["../src/config-base/rules-core.ts","../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'camelcase': ['error', { properties: 'always' }],\n\t'func-name-matching': [\n\t\t'error',\n\t\t'never',\n\t\t{ considerPropertyDescriptor: true },\n\t],\n};\n\nexport default rules;\n","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,aAAa,CAAC,SAAS,EAAE,YAAY,UAAU,CAAC;CAChD,sBAAsB;EACrB;EACA;EACA,EAAE,4BAA4B,MAAM;EACpC;CACD;;;ACPD,MAAMC,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"}
|