@standard-config/eslint 2.0.0 → 2.0.2
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/{eslint-B2bS8oCs.d.mts → eslint-Bm8LJN21.d.mts} +2 -2
- package/dist/{eslint-B2bS8oCs.d.mts.map → eslint-Bm8LJN21.d.mts.map} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +11 -1
- package/dist/index.mjs.map +1 -1
- package/dist/{rules-react-CX3lvpmg.mjs → rules-react-DmzrAlni.mjs} +2 -12
- package/dist/rules-react-DmzrAlni.mjs.map +1 -0
- package/dist/utilities.d.mts +3 -3
- package/dist/utilities.d.mts.map +1 -1
- package/dist/utilities.mjs +11 -7
- package/dist/utilities.mjs.map +1 -1
- package/package.json +11 -13
- package/dist/rules-react-CX3lvpmg.mjs.map +0 -1
|
@@ -18,5 +18,5 @@ type InfiniteLinterConfig = Parameters<typeof defineConfig>[number];
|
|
|
18
18
|
type StandardConfig = Exclude<InfiniteLinterConfig, unknown[]> & StandardConfigOptions;
|
|
19
19
|
type StandardConfigArray = Array<StandardConfig | StandardConfig[]>;
|
|
20
20
|
//#endregion
|
|
21
|
-
export { LinterConfigRules as n, StandardConfigArray as r, LinterConfigEntry as t };
|
|
22
|
-
//# sourceMappingURL=eslint-
|
|
21
|
+
export { StandardConfigOptions as i, LinterConfigRules as n, StandardConfigArray as r, LinterConfigEntry as t };
|
|
22
|
+
//# sourceMappingURL=eslint-Bm8LJN21.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-
|
|
1
|
+
{"version":3,"file":"eslint-Bm8LJN21.d.mts","names":["StandardConfigOptions","react","Linter","defineConfig","eslintDefineConfig","StandardConfigOptions","LinterConfigEntry","Config","Omit","LinterConfigRuleEntry","RuleSeverity","LinterConfigRules","Record","InfiniteLinterConfig","Parameters","StandardConfig","Exclude","StandardConfigArray","Array"],"sources":["../src/types/common.d.ts","../src/types/eslint.d.ts"],"mappings":";;;;KAAYA,qBAAAA;;;;AAAZ;EAKCC,KAAAA;AAAAA;;;KCDWK,iBAAAA,GAAoBE,IAAAA,CAAKN,MAAAA,CAAOK,MAAAA;AAAAA,KAEvCE,qBAAAA,GACFP,MAAAA,CAAOQ,YAAAA,IACNR,MAAAA,CAAOQ,YAAAA;AAAAA,KAECC,iBAAAA,GAAoBC,MAAAA,SAAeH,qBAAAA;AAAAA,KAE1CI,oBAAAA,GAAuBC,UAAAA,QAAkBV,YAAAA;AAAAA,KAElCW,cAAAA,GAAiBC,OAAAA,CAAQH,oBAAAA,eACpCR,qBAAAA;AAAAA,KAEWY,mBAAAA,GAAsBC,KAAAA,CAAMH,cAAAA,GAAiBA,cAAAA"}
|
package/dist/index.d.mts
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { a as rules$1, i as rules$2, n as rules$4,
|
|
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";
|
|
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
|
+
//#endregion
|
|
6
16
|
//#region src/config-base/eslint.ts
|
|
7
17
|
/**
|
|
8
18
|
* Primary config entry.
|
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","configConfigFiles","configReact"],"sources":["../src/config-base/eslint.ts","../src/config-config-files/eslint.ts","../src/config-react/eslint.ts","../src/define-config/index.ts"],"sourcesContent":["import type { LinterConfigEntry } from '../types/eslint.d.ts';\nimport pluginStylistic from '@stylistic/eslint-plugin';\nimport pluginPerfectionist from 'eslint-plugin-perfectionist';\nimport 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":"
|
|
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,13 +1,3 @@
|
|
|
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
2
|
const rules$4 = {
|
|
13
3
|
"perfectionist/sort-array-includes": ["error", { type: "natural" }],
|
|
@@ -330,6 +320,6 @@ const rules = {
|
|
|
330
320
|
"react-x/use-state": "error"
|
|
331
321
|
};
|
|
332
322
|
//#endregion
|
|
333
|
-
export { rules$4 as a, rules$3 as i, rules$1 as n, rules$
|
|
323
|
+
export { rules$4 as a, rules$3 as i, rules$1 as n, rules$2 as r, rules as t };
|
|
334
324
|
|
|
335
|
-
//# sourceMappingURL=rules-react-
|
|
325
|
+
//# sourceMappingURL=rules-react-DmzrAlni.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/utilities.d.mts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { n as LinterConfigRules } from "./eslint-
|
|
2
|
-
import { defineConfig } from "@standard-config/oxlint";
|
|
1
|
+
import { i as StandardConfigOptions, n as LinterConfigRules } from "./eslint-Bm8LJN21.mjs";
|
|
3
2
|
import { Linter } from "eslint";
|
|
4
3
|
import { ExternalPluginEntry, OxlintConfig, OxlintOverride } from "oxlint";
|
|
5
4
|
|
|
@@ -14,6 +13,7 @@ declare const config: OxlintConfig;
|
|
|
14
13
|
//#region src/types/oxlint.d.ts
|
|
15
14
|
type OxlintOverrideEntry = Pick<OxlintOverride, 'rules'>;
|
|
16
15
|
type OxlintPluginEntry = Exclude<ExternalPluginEntry, string>;
|
|
16
|
+
type StandardConfig = OxlintConfig & StandardConfigOptions;
|
|
17
17
|
//#endregion
|
|
18
18
|
//#region src/config-config-files/oxlint.d.ts
|
|
19
19
|
/**
|
|
@@ -37,7 +37,7 @@ declare const config$1: OxlintConfig;
|
|
|
37
37
|
* Wrapper around `defineConfig` from `@standard-config/oxlint` that combines
|
|
38
38
|
* Standard Config’s Oxlint and ESLint configs, with optional overrides.
|
|
39
39
|
*/
|
|
40
|
-
declare function defineOxlintConfig(...configs:
|
|
40
|
+
declare function defineOxlintConfig(...configs: StandardConfig[]): OxlintConfig;
|
|
41
41
|
//#endregion
|
|
42
42
|
//#region src/utilities/transform-plugin/index.d.ts
|
|
43
43
|
/**
|
package/dist/utilities.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.mts","names":["ExternalPluginEntry","OxlintConfig","OxlintOverride","OxlintOverrideEntry","Pick","OxlintPluginEntry","Exclude"],"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":"
|
|
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"}
|
package/dist/utilities.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { a as rules$
|
|
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";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { defineConfig } from "@standard-config/oxlint";
|
|
4
3
|
//#region src/config-config-files/oxlint.ts
|
|
5
4
|
/**
|
|
6
5
|
* Standard Config’s ESLint config translated for Oxlint.
|
|
@@ -67,9 +66,8 @@ const config = {
|
|
|
67
66
|
jsPlugins: [transformPlugin("stylistic", "@stylistic/eslint-plugin"), transformPlugin("perfectionist", "eslint-plugin-perfectionist")],
|
|
68
67
|
settings: { react: { version: "19.2.4" } },
|
|
69
68
|
rules: {
|
|
70
|
-
...transformRules(rules$1, {
|
|
71
|
-
...transformRules(rules$2, {
|
|
72
|
-
...transformRules(rules$3, { prefix: "stylistic" })
|
|
69
|
+
...transformRules(rules$1, { omit: ["perfectionist/sort-classes"] }),
|
|
70
|
+
...transformRules(rules$2, { prefix: "stylistic" })
|
|
73
71
|
},
|
|
74
72
|
overrides: [{
|
|
75
73
|
files: ["**/*.config.{ts,cts,mts}"],
|
|
@@ -99,17 +97,23 @@ config$1.jsPlugins.push(transformPlugin("react-x", "eslint-plugin-react-x"));
|
|
|
99
97
|
config$1.overrides.push({
|
|
100
98
|
files: ["**/*.tsx"],
|
|
101
99
|
rules: {
|
|
102
|
-
...rules$
|
|
103
|
-
...transformRules(rules$
|
|
100
|
+
...rules$3,
|
|
101
|
+
...transformRules(rules$4, { omit: ["react-x/no-implicit-key", "react-x/no-leaked-conditional-rendering"] })
|
|
104
102
|
}
|
|
105
103
|
});
|
|
106
104
|
//#endregion
|
|
107
105
|
//#region src/utilities/define-oxlint-config/index.ts
|
|
106
|
+
let oxlintConfig;
|
|
107
|
+
try {
|
|
108
|
+
oxlintConfig = await import("@standard-config/oxlint");
|
|
109
|
+
} catch {}
|
|
108
110
|
/**
|
|
109
111
|
* Wrapper around `defineConfig` from `@standard-config/oxlint` that combines
|
|
110
112
|
* Standard Config’s Oxlint and ESLint configs, with optional overrides.
|
|
111
113
|
*/
|
|
112
114
|
function defineOxlintConfig(...configs) {
|
|
115
|
+
const { defineConfig } = oxlintConfig ?? {};
|
|
116
|
+
if (typeof defineConfig !== "function") throw new Error("Standard Config error: `@standard-config/oxlint` is missing");
|
|
113
117
|
let includeReactConfig = false;
|
|
114
118
|
for (const { react } of configs) if (react !== void 0) includeReactConfig = react;
|
|
115
119
|
return defineConfig(includeReactConfig ? config$1 : config, ...configs);
|
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","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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@standard-config/eslint",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "TypeScript-first ESLint config designed to complement Oxlint",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -64,31 +64,29 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@eslint/compat": "^2.0.3",
|
|
67
|
-
"@standard-config/oxlint": "^1.6.
|
|
68
|
-
"@standard-config/prettier": "^1.11.
|
|
67
|
+
"@standard-config/oxlint": "^1.6.1",
|
|
68
|
+
"@standard-config/prettier": "^1.11.3",
|
|
69
69
|
"@standard-config/tsconfig": "^3.1.0",
|
|
70
70
|
"@types/node": "^22.19.15",
|
|
71
|
-
"@vitest/coverage-v8": "^4.1.
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
72
72
|
"eslint": "^10.1.0",
|
|
73
|
-
"husky": "^9.1.7",
|
|
74
73
|
"jiti": "^2.6.1",
|
|
75
|
-
"oxlint": "^1.
|
|
76
|
-
"oxlint-tsgolint": "^0.17.3",
|
|
74
|
+
"oxlint": "^1.57.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.14",
|
|
81
|
+
"vitest": "^4.1.2"
|
|
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"}
|