@standard-config/eslint 2.0.2 → 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 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
@@ -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;;;;;AFbgD;iBGUtC,YAAA,CAAA,GACpB,OAAA,EAAS,mBAAA,GACV,MAAA"}
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,17 +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-DmzrAlni.mjs";
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
- //#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
6
  //#endregion
16
7
  //#region src/config-base/eslint.ts
17
8
  /**
@@ -31,7 +22,12 @@ const config = {
31
22
  reportUnusedInlineConfigs: "error"
32
23
  },
33
24
  rules: {
34
- ...rules,
25
+ "camelcase": ["error", { properties: "always" }],
26
+ "func-name-matching": [
27
+ "error",
28
+ "never",
29
+ { considerPropertyDescriptor: true }
30
+ ],
35
31
  ...rules$1,
36
32
  ...rules$2
37
33
  }
@@ -84,23 +80,51 @@ const config$2 = {
84
80
  }
85
81
  };
86
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
87
97
  //#region src/define-config/index.ts
88
98
  /**
89
99
  * Combine Standard Config with optional additional config.
90
100
  */
91
101
  function defineConfig(...configs) {
92
- return defineConfig$1({
102
+ const { extensionConfigs, includeReactConfig } = normalizeExtensionConfigs(configs);
103
+ return defineConfig$1([{
93
104
  name: "Standard Config",
94
- files: ["**/*.{ts,tsx,cts,mts}"],
95
105
  extends: [
96
- config,
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
+ },
97
118
  {
98
119
  files: ["**/*.config.{ts,cts,mts}"],
99
120
  ...config$1
100
- },
101
- ...normalizeExtensionConfigs(configs)
121
+ }
102
122
  ]
103
- });
123
+ }, extensionConfigs.length > 0 ? {
124
+ name: "Standard Config Extensions",
125
+ files: ["**/*.{ts,tsx,cts,mts}"],
126
+ extends: extensionConfigs
127
+ } : []]);
104
128
  }
105
129
  function normalizeExtensionConfigs(configs) {
106
130
  const extensionConfigs = [];
@@ -110,13 +134,12 @@ function normalizeExtensionConfigs(configs) {
110
134
  if (Object.keys(otherConfig).length > 0) extensionConfigs.push(defineConfig$1(otherConfig));
111
135
  if (react !== void 0) includeReactConfig = react;
112
136
  }
113
- if (includeReactConfig) extensionConfigs.unshift({
114
- files: ["**/*.tsx"],
115
- ...config$2
116
- });
117
- return extensionConfigs;
137
+ return {
138
+ extensionConfigs,
139
+ includeReactConfig
140
+ };
118
141
  }
119
142
  //#endregion
120
- 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 };
121
144
 
122
145
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["rulesCore","rulesPerfectionist","rulesStylistic","config","rulesPerfectionist","config","rulesPerfectionist","rulesReact","eslintDefineConfig","configBase","configConfigFiles","configReact"],"sources":["../src/config-base/rules-core.ts","../src/config-base/eslint.ts","../src/config-config-files/eslint.ts","../src/config-react/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 { 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';\n\n/**\n * Combine Standard Config with optional additional config.\n */\nexport default function defineConfig(\n\t...configs: StandardConfigArray\n): Config[] {\n\treturn eslintDefineConfig({\n\t\tname: 'Standard Config',\n\t\tfiles: ['**/*.{ts,tsx,cts,mts}'],\n\t\textends: [\n\t\t\tconfigBase,\n\t\t\t{\n\t\t\t\tfiles: ['**/*.config.{ts,cts,mts}'],\n\t\t\t\t...configConfigFiles,\n\t\t\t},\n\t\t\t...normalizeExtensionConfigs(configs),\n\t\t],\n\t});\n}\n\nfunction normalizeExtensionConfigs(configs: StandardConfigArray) {\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\tif (includeReactConfig) {\n\t\textensionConfigs.unshift({\n\t\t\tfiles: ['**/*.tsx'],\n\t\t\t...configReact,\n\t\t});\n\t}\n\n\treturn extensionConfigs;\n}\n"],"mappings":";;;;;;AAEA,MAAM,QAA2B;CAChC,aAAa,CAAC,SAAS,EAAE,YAAY,UAAU,CAAC;CAChD,sBAAsB;EACrB;EACA;EACA,EAAE,4BAA4B,MAAM;EACpC;CACD;;;;;;;;;ACID,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,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;;;;;;ACnBD,SAAwB,aACvB,GAAG,SACQ;AACX,QAAOC,eAAmB;EACzB,MAAM;EACN,OAAO,CAAC,wBAAwB;EAChC,SAAS;GACRC;GACA;IACC,OAAO,CAAC,2BAA2B;IACnC,GAAGC;IACH;GACD,GAAG,0BAA0B,QAAQ;GACrC;EACD,CAAC;;AAGH,SAAS,0BAA0B,SAA8B;CAChE,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,KAAKF,eAAmB,YAAY,CAAC;AAGvD,MAAI,UAAU,KAAA,EACb,sBAAqB;;AAIvB,KAAI,mBACH,kBAAiB,QAAQ;EACxB,OAAO,CAAC,WAAW;EACnB,GAAGG;EACH,CAAC;AAGH,QAAO"}
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,5 +1,5 @@
1
1
  //#region src/config-base/rules-perfectionist.ts
2
- const rules$4 = {
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$3 = {
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$2 = { "perfectionist/sort-objects": ["error", {
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$1 = { "perfectionist/sort-jsx-props": ["error", {
251
+ const rules$2 = { "perfectionist/sort-jsx-props": ["error", {
252
252
  customGroups: [
253
253
  {
254
254
  groupName: "as",
@@ -289,12 +289,10 @@ 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 = {
292
+ const rules$1 = {
293
293
  "react-x/component-hook-factories": "error",
294
294
  "react-x/error-boundaries": "error",
295
295
  "react-x/immutability": "error",
296
- "react-x/jsx-dollar": "error",
297
- "react-x/jsx-key-before-spread": "error",
298
296
  "react-x/no-access-state-in-setstate": "error",
299
297
  "react-x/no-class-component": "error",
300
298
  "react-x/no-context-provider": "error",
@@ -320,6 +318,16 @@ const rules = {
320
318
  "react-x/use-state": "error"
321
319
  };
322
320
  //#endregion
323
- export { rules$4 as a, rules$3 as i, rules$1 as n, rules$2 as r, rules as t };
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
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 };
324
332
 
325
- //# sourceMappingURL=rules-react-DmzrAlni.mjs.map
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"}
@@ -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
@@ -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;cAYrC,MAAA,EAAQ,YAAA;;;KCTFI,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;cGarC,QAAA,EAAQ,YAAA;;;;;;AHb6B;iBIgBnB,kBAAA,CAAA,GACpB,OAAA,EAAS,cAAA,KACV,YAAA;;;;;;;AJlBwC;iBKQnB,eAAA,CACvB,IAAA,UACA,SAAA,WACE,iBAAA;;;;;;ALXwC;;iBMQnB,cAAA,CACvB,KAAA,EAAO,MAAA,CAAO,MAAA,WACd,OAAA;EACC,IAAA,GAAO,aAAA;EACP,MAAA;EACA,QAAA,GAAW,MAAA,CAAO,cAAA;AAAA,IAEjB,iBAAA"}
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"}
@@ -1,4 +1,4 @@
1
- import { a as rules$1, i as rules$2, n as rules$3, r as rules, t as rules$4 } from "./rules-react-DmzrAlni.mjs";
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,13 +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: [transformPlugin("stylistic", "@stylistic/eslint-plugin"), transformPlugin("perfectionist", "eslint-plugin-perfectionist")],
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, { omit: ["perfectionist/sort-classes"] }),
70
- ...transformRules(rules$2, { prefix: "stylistic" })
82
+ ...transformRules(rules$2, { omit: ["perfectionist/sort-classes"] }),
83
+ ...transformRules(rules$3, { prefix: "stylistic" })
71
84
  },
72
85
  overrides: [{
86
+ files: ["**/*.test.{ts,tsx,cts,mts}", "**/*.test-d.{ts,cts,mts}"],
87
+ ...config$3
88
+ }, {
73
89
  files: ["**/*.config.{ts,cts,mts}"],
74
90
  ...config$2
75
91
  }]
@@ -93,12 +109,11 @@ const config$1 = {
93
109
  ...clone(config),
94
110
  settings: { react: { version: "19.2.4" } }
95
111
  };
96
- config$1.jsPlugins.push(transformPlugin("react-x", "eslint-plugin-react-x"));
97
- config$1.overrides.push({
112
+ config$1.overrides.unshift({
98
113
  files: ["**/*.tsx"],
99
114
  rules: {
100
- ...rules$3,
101
- ...transformRules(rules$4, { omit: ["react-x/no-implicit-key", "react-x/no-leaked-conditional-rendering"] })
115
+ ...rules$4,
116
+ ...transformRules(rules$5, { omit: ["react-x/no-implicit-key", "react-x/no-leaked-conditional-rendering"] })
102
117
  }
103
118
  });
104
119
  //#endregion
@@ -119,6 +134,6 @@ function defineOxlintConfig(...configs) {
119
134
  return defineConfig(includeReactConfig ? config$1 : config, ...configs);
120
135
  }
121
136
  //#endregion
122
- 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 };
123
138
 
124
139
  //# sourceMappingURL=utilities.mjs.map
@@ -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],\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: ['**/*.config.{ts,cts,mts}'],\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 transformPlugin from '../utilities/transform-plugin/index.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.jsPlugins!.push(transformPlugin('react-x', 'eslint-plugin-react-x'));\n\nconfig.overrides!.push({\n\tfiles: ['**/*.tsx'],\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;;;;;;;;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;;;;;;;;;AC1CR,MAAM,SAAuB;CAC5B,WAAW,CACV,gBAAgB,aAAa,2BAA2B,EACxD,gBAAgB,iBAAiB,8BAA8B,CAC/D;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,CAAC,2BAA2B;EACnC,GAAGC;EACH,CACD;CACD;;;ACxCD,SAAwB,MAAS,OAAa;AAC7C,KAAI;AAEH,UAAQ,gBAAgB,MAAM;SACvB;AAER,QAAO;;;;;;;;;ACOR,MAAMC,WAAuB;CAC5B,GAAG,MAAMC,OAAiB;CAE1B,UAAU,EACT,OAAO,EAEN,SAAS,UACT,EACD;CACD;AAEDD,SAAO,UAAW,KAAK,gBAAgB,WAAW,wBAAwB,CAAC;AAE3EA,SAAO,UAAW,KAAK;CACtB,OAAO,CAAC,WAAW;CACnB,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"}
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.2",
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.7.0",
47
- "eslint-plugin-react-x": "^3.0.0"
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,22 +63,22 @@
63
63
  }
64
64
  },
65
65
  "devDependencies": {
66
- "@eslint/compat": "^2.0.3",
67
- "@standard-config/oxlint": "^1.6.1",
68
- "@standard-config/prettier": "^1.11.3",
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.15",
71
- "@vitest/coverage-v8": "^4.1.2",
72
- "eslint": "^10.1.0",
70
+ "@types/node": "^22.19.17",
71
+ "@vitest/coverage-v8": "^4.1.3",
72
+ "eslint": "^10.2.0",
73
73
  "jiti": "^2.6.1",
74
- "oxlint": "^1.57.0",
74
+ "oxlint": "^1.59.0",
75
75
  "prettier": "^3.8.1",
76
76
  "publint": "^0.3.18",
77
77
  "react": "^19.2.4",
78
78
  "typescript": "^6.0.2",
79
79
  "typescript-eslint": "^8.58.0",
80
- "vite-plus": "^0.1.14",
81
- "vitest": "^4.1.2"
80
+ "vite-plus": "^0.1.16",
81
+ "vitest": "^4.1.3"
82
82
  },
83
83
  "scripts": {
84
84
  "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"}