@xylabs/eslint-config-react-flat 7.8.6 → 7.9.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/README.md +17 -2
- package/dist/neutral/index.d.ts +5 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +82 -33
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/react/index.d.ts +3 -1
- package/dist/neutral/react/index.d.ts.map +1 -1
- package/dist/neutral/reactImport/index.d.ts.map +1 -1
- package/dist/node/index.d.ts +5 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +82 -33
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/react/index.d.ts +3 -1
- package/dist/node/react/index.d.ts.map +1 -1
- package/dist/node/reactImport/index.d.ts.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ pnpm add -D {{name}}
|
|
|
29
29
|
|
|
30
30
|
## Usage
|
|
31
31
|
|
|
32
|
-
Use
|
|
32
|
+
Use the compatibility export in your `eslint.config.mjs`:
|
|
33
33
|
|
|
34
34
|
```js
|
|
35
35
|
import { config } from '@xylabs/eslint-config-react-flat'
|
|
@@ -37,6 +37,14 @@ import { config } from '@xylabs/eslint-config-react-flat'
|
|
|
37
37
|
export default config
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
For new consumers, prefer the explicit presets:
|
|
41
|
+
|
|
42
|
+
```js
|
|
43
|
+
import { recommendedTypeCheckedConfig } from '@xylabs/eslint-config-react-flat'
|
|
44
|
+
|
|
45
|
+
export default recommendedTypeCheckedConfig
|
|
46
|
+
```
|
|
47
|
+
|
|
40
48
|
### Extending with custom rules
|
|
41
49
|
|
|
42
50
|
```js
|
|
@@ -58,11 +66,18 @@ Everything from [`@xylabs/eslint-config-flat`](https://www.npmjs.com/package/@xy
|
|
|
58
66
|
|
|
59
67
|
- React component and hooks linting via `eslint-plugin-react-x`
|
|
60
68
|
- DOM API validation via `eslint-plugin-react-dom`
|
|
61
|
-
-
|
|
69
|
+
- Hooks validation via `eslint-plugin-react-hooks`
|
|
62
70
|
- Naming convention enforcement via `eslint-plugin-react-naming-convention`
|
|
63
71
|
- React Refresh validation via `eslint-plugin-react-refresh`
|
|
64
72
|
- Web API best practices via `eslint-plugin-react-web-api`
|
|
65
73
|
|
|
74
|
+
Additional exports:
|
|
75
|
+
|
|
76
|
+
- `recommendedConfig`: base + React without Storybook
|
|
77
|
+
- `recommendedTypeCheckedConfig`: type-aware base + React without Storybook
|
|
78
|
+
- `recommendedTypeCheckedWithStorybookConfig`: type-aware base + React + Storybook
|
|
79
|
+
- `config`: legacy compatibility export equivalent to the Storybook-inclusive type-aware preset
|
|
80
|
+
|
|
66
81
|
|
|
67
82
|
## License
|
|
68
83
|
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
+
export declare const reactStorybookConfig: Linter.Config[];
|
|
3
|
+
export declare const recommendedConfig: Linter.Config[];
|
|
4
|
+
export declare const recommendedTypeCheckedConfig: Linter.Config[];
|
|
5
|
+
export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
|
|
2
6
|
export declare const config: Linter.Config[];
|
|
3
|
-
export { reactConfig } from './react/index.ts';
|
|
7
|
+
export { reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
|
|
4
8
|
export { reactImportConfig } from './reactImport/index.ts';
|
|
5
9
|
export { storybookConfig } from './storybook/index.ts';
|
|
6
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AASpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA2E,CAAA;AAExH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAIvD,CAAA;AAED,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAGD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA;AAEhF,OAAO,EACL,WAAW,EAAE,sBAAsB,EAAE,iCAAiC,GACvE,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
recommendedConfig as xyRecommendedConfig,
|
|
4
|
+
recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig
|
|
5
|
+
} from "@xylabs/eslint-config-flat";
|
|
3
6
|
|
|
4
7
|
// src/react/index.ts
|
|
5
8
|
import tsParser from "@typescript-eslint/parser";
|
|
@@ -10,39 +13,68 @@ import eslintReactRefreshPlugin from "eslint-plugin-react-refresh";
|
|
|
10
13
|
import reactWebApiPlugin from "eslint-plugin-react-web-api";
|
|
11
14
|
import reactPlugin from "eslint-plugin-react-x";
|
|
12
15
|
import globals from "globals";
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
16
|
+
var reactFiles = ["**/*.{ts,tsx,js,jsx}"];
|
|
17
|
+
function scopeReactConfigs(configs, typeChecked = false) {
|
|
18
|
+
return (Array.isArray(configs) ? configs : [configs]).map((config2) => ({
|
|
19
|
+
...config2,
|
|
20
|
+
files: reactFiles,
|
|
21
|
+
languageOptions: {
|
|
22
|
+
parser: tsParser,
|
|
23
|
+
...config2.languageOptions,
|
|
24
|
+
globals: {
|
|
25
|
+
...globals.browser,
|
|
26
|
+
...config2.languageOptions?.globals
|
|
27
|
+
},
|
|
28
|
+
parserOptions: {
|
|
29
|
+
ecmaFeatures: { jsx: true },
|
|
30
|
+
...config2.languageOptions?.parserOptions,
|
|
31
|
+
...typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
function createReactOverride(typeChecked = false) {
|
|
37
|
+
return {
|
|
38
|
+
files: reactFiles,
|
|
39
|
+
languageOptions: {
|
|
40
|
+
parser: tsParser,
|
|
41
|
+
parserOptions: {
|
|
42
|
+
ecmaFeatures: { jsx: true },
|
|
43
|
+
...typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}
|
|
44
|
+
},
|
|
45
|
+
globals: { ...globals.browser }
|
|
46
|
+
},
|
|
47
|
+
plugins: {
|
|
48
|
+
"react-x": reactPlugin,
|
|
49
|
+
"react-dom": reactDomPlugin,
|
|
50
|
+
"react-web-api": reactWebApiPlugin,
|
|
51
|
+
"react-refresh": eslintReactRefreshPlugin,
|
|
52
|
+
"react-hooks": reactHooksPlugin,
|
|
53
|
+
"react-naming-convention": reactNamingConventionPlugin
|
|
54
|
+
},
|
|
55
|
+
rules: {
|
|
56
|
+
...reactDomPlugin.configs.strict.rules,
|
|
57
|
+
...reactWebApiPlugin.configs.recommended.rules,
|
|
58
|
+
...reactHooksPlugin.configs.flat.recommended.rules,
|
|
59
|
+
...reactNamingConventionPlugin.configs.recommended.rules,
|
|
60
|
+
...eslintReactRefreshPlugin.configs.recommended.rules,
|
|
61
|
+
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }]
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
var reactRecommendedConfig = [
|
|
66
|
+
...scopeReactConfigs(reactPlugin.configs["strict-typescript"]),
|
|
67
|
+
createReactOverride()
|
|
68
|
+
];
|
|
69
|
+
var reactRecommendedTypeCheckedConfig = [
|
|
70
|
+
...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
|
|
71
|
+
createReactOverride(true)
|
|
72
|
+
];
|
|
73
|
+
var reactConfig = reactRecommendedTypeCheckedConfig;
|
|
43
74
|
|
|
44
75
|
// src/reactImport/index.ts
|
|
45
76
|
import { importConfig } from "@xylabs/eslint-config-flat";
|
|
77
|
+
var importRuleConfig = importConfig.find((config2) => config2.rules?.["import-x/no-internal-modules"] !== void 0);
|
|
46
78
|
var reactImportConfig = {
|
|
47
79
|
rules: {
|
|
48
80
|
"import-x/no-internal-modules": [
|
|
@@ -51,7 +83,7 @@ var reactImportConfig = {
|
|
|
51
83
|
allow: [
|
|
52
84
|
"react-dom/*",
|
|
53
85
|
"react-icons/*",
|
|
54
|
-
...
|
|
86
|
+
...importRuleConfig?.rules?.["import-x/no-internal-modules"]?.[1]?.allow ?? []
|
|
55
87
|
]
|
|
56
88
|
}
|
|
57
89
|
]
|
|
@@ -63,11 +95,28 @@ import storybook from "eslint-plugin-storybook";
|
|
|
63
95
|
var storybookConfig = storybook.configs["flat/recommended"];
|
|
64
96
|
|
|
65
97
|
// src/index.ts
|
|
66
|
-
var
|
|
98
|
+
var reactStorybookConfig = [...storybookConfig];
|
|
99
|
+
var recommendedConfig = [...xyRecommendedConfig, ...reactRecommendedConfig, reactImportConfig];
|
|
100
|
+
var recommendedTypeCheckedConfig = [
|
|
101
|
+
...xyRecommendedTypeCheckedConfig,
|
|
102
|
+
...reactRecommendedTypeCheckedConfig,
|
|
103
|
+
reactImportConfig
|
|
104
|
+
];
|
|
105
|
+
var recommendedTypeCheckedWithStorybookConfig = [
|
|
106
|
+
...recommendedTypeCheckedConfig,
|
|
107
|
+
...reactStorybookConfig
|
|
108
|
+
];
|
|
109
|
+
var config = recommendedTypeCheckedWithStorybookConfig;
|
|
67
110
|
export {
|
|
68
111
|
config,
|
|
69
112
|
reactConfig,
|
|
70
113
|
reactImportConfig,
|
|
114
|
+
reactRecommendedConfig,
|
|
115
|
+
reactRecommendedTypeCheckedConfig,
|
|
116
|
+
reactStorybookConfig,
|
|
117
|
+
recommendedConfig,
|
|
118
|
+
recommendedTypeCheckedConfig,
|
|
119
|
+
recommendedTypeCheckedWithStorybookConfig,
|
|
71
120
|
storybookConfig
|
|
72
121
|
};
|
|
73
122
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/react/index.ts","../../src/reactImport/index.ts","../../src/storybook/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/react/index.ts","../../src/reactImport/index.ts","../../src/storybook/index.ts"],"sourcesContent":["import {\n recommendedConfig as xyRecommendedConfig,\n recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactRecommendedConfig,\n reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nimport { reactImportConfig } from './reactImport/index.ts'\nimport { storybookConfig } from './storybook/index.ts'\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const recommendedConfig: Linter.Config[] = [...xyRecommendedConfig, ...reactRecommendedConfig, reactImportConfig]\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = [\n ...xyRecommendedTypeCheckedConfig,\n ...reactRecommendedTypeCheckedConfig,\n reactImportConfig,\n]\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = [\n ...recommendedTypeCheckedConfig,\n ...reactStorybookConfig,\n]\n\n// Compatibility export for existing consumers.\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n\nexport {\n reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nexport { reactImportConfig } from './reactImport/index.ts'\nexport { storybookConfig } from './storybook/index.ts'\n","import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,js,jsx}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-x': reactPlugin,\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n },\n }\n}\n\nexport const reactRecommendedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\nexport const reactConfig: Linter.Config[] = reactRecommendedTypeCheckedConfig\n","import { importConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nconst importRuleConfig = importConfig.find(config => config.rules?.['import-x/no-internal-modules'] !== undefined)\n\nexport const reactImportConfig: Linter.Config = {\n rules: {\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'react-dom/*',\n 'react-icons/*',\n ...((importRuleConfig?.rules?.['import-x/no-internal-modules'] as [string, { allow: string[] }])?.[1]?.allow ?? []),\n ],\n },\n ],\n },\n}\n","import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n"],"mappings":"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","names":["config","config"]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const reactRecommendedConfig: Linter.Config[];
|
|
3
|
+
export declare const reactRecommendedTypeCheckedConfig: Linter.Config[];
|
|
4
|
+
export declare const reactConfig: Linter.Config[];
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgE5C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAsC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactImport/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactImport/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAatC,CAAA"}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
+
export declare const reactStorybookConfig: Linter.Config[];
|
|
3
|
+
export declare const recommendedConfig: Linter.Config[];
|
|
4
|
+
export declare const recommendedTypeCheckedConfig: Linter.Config[];
|
|
5
|
+
export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
|
|
2
6
|
export declare const config: Linter.Config[];
|
|
3
|
-
export { reactConfig } from './react/index.ts';
|
|
7
|
+
export { reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
|
|
4
8
|
export { reactImportConfig } from './reactImport/index.ts';
|
|
5
9
|
export { storybookConfig } from './storybook/index.ts';
|
|
6
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AASpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA2E,CAAA;AAExH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAIvD,CAAA;AAED,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAGD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA;AAEhF,OAAO,EACL,WAAW,EAAE,sBAAsB,EAAE,iCAAiC,GACvE,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
recommendedConfig as xyRecommendedConfig,
|
|
4
|
+
recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig
|
|
5
|
+
} from "@xylabs/eslint-config-flat";
|
|
3
6
|
|
|
4
7
|
// src/react/index.ts
|
|
5
8
|
import tsParser from "@typescript-eslint/parser";
|
|
@@ -10,39 +13,68 @@ import eslintReactRefreshPlugin from "eslint-plugin-react-refresh";
|
|
|
10
13
|
import reactWebApiPlugin from "eslint-plugin-react-web-api";
|
|
11
14
|
import reactPlugin from "eslint-plugin-react-x";
|
|
12
15
|
import globals from "globals";
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
16
|
+
var reactFiles = ["**/*.{ts,tsx,js,jsx}"];
|
|
17
|
+
function scopeReactConfigs(configs, typeChecked = false) {
|
|
18
|
+
return (Array.isArray(configs) ? configs : [configs]).map((config2) => ({
|
|
19
|
+
...config2,
|
|
20
|
+
files: reactFiles,
|
|
21
|
+
languageOptions: {
|
|
22
|
+
parser: tsParser,
|
|
23
|
+
...config2.languageOptions,
|
|
24
|
+
globals: {
|
|
25
|
+
...globals.browser,
|
|
26
|
+
...config2.languageOptions?.globals
|
|
27
|
+
},
|
|
28
|
+
parserOptions: {
|
|
29
|
+
ecmaFeatures: { jsx: true },
|
|
30
|
+
...config2.languageOptions?.parserOptions,
|
|
31
|
+
...typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
function createReactOverride(typeChecked = false) {
|
|
37
|
+
return {
|
|
38
|
+
files: reactFiles,
|
|
39
|
+
languageOptions: {
|
|
40
|
+
parser: tsParser,
|
|
41
|
+
parserOptions: {
|
|
42
|
+
ecmaFeatures: { jsx: true },
|
|
43
|
+
...typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}
|
|
44
|
+
},
|
|
45
|
+
globals: { ...globals.browser }
|
|
46
|
+
},
|
|
47
|
+
plugins: {
|
|
48
|
+
"react-x": reactPlugin,
|
|
49
|
+
"react-dom": reactDomPlugin,
|
|
50
|
+
"react-web-api": reactWebApiPlugin,
|
|
51
|
+
"react-refresh": eslintReactRefreshPlugin,
|
|
52
|
+
"react-hooks": reactHooksPlugin,
|
|
53
|
+
"react-naming-convention": reactNamingConventionPlugin
|
|
54
|
+
},
|
|
55
|
+
rules: {
|
|
56
|
+
...reactDomPlugin.configs.strict.rules,
|
|
57
|
+
...reactWebApiPlugin.configs.recommended.rules,
|
|
58
|
+
...reactHooksPlugin.configs.flat.recommended.rules,
|
|
59
|
+
...reactNamingConventionPlugin.configs.recommended.rules,
|
|
60
|
+
...eslintReactRefreshPlugin.configs.recommended.rules,
|
|
61
|
+
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }]
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
var reactRecommendedConfig = [
|
|
66
|
+
...scopeReactConfigs(reactPlugin.configs["strict-typescript"]),
|
|
67
|
+
createReactOverride()
|
|
68
|
+
];
|
|
69
|
+
var reactRecommendedTypeCheckedConfig = [
|
|
70
|
+
...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
|
|
71
|
+
createReactOverride(true)
|
|
72
|
+
];
|
|
73
|
+
var reactConfig = reactRecommendedTypeCheckedConfig;
|
|
43
74
|
|
|
44
75
|
// src/reactImport/index.ts
|
|
45
76
|
import { importConfig } from "@xylabs/eslint-config-flat";
|
|
77
|
+
var importRuleConfig = importConfig.find((config2) => config2.rules?.["import-x/no-internal-modules"] !== void 0);
|
|
46
78
|
var reactImportConfig = {
|
|
47
79
|
rules: {
|
|
48
80
|
"import-x/no-internal-modules": [
|
|
@@ -51,7 +83,7 @@ var reactImportConfig = {
|
|
|
51
83
|
allow: [
|
|
52
84
|
"react-dom/*",
|
|
53
85
|
"react-icons/*",
|
|
54
|
-
...
|
|
86
|
+
...importRuleConfig?.rules?.["import-x/no-internal-modules"]?.[1]?.allow ?? []
|
|
55
87
|
]
|
|
56
88
|
}
|
|
57
89
|
]
|
|
@@ -63,11 +95,28 @@ import storybook from "eslint-plugin-storybook";
|
|
|
63
95
|
var storybookConfig = storybook.configs["flat/recommended"];
|
|
64
96
|
|
|
65
97
|
// src/index.ts
|
|
66
|
-
var
|
|
98
|
+
var reactStorybookConfig = [...storybookConfig];
|
|
99
|
+
var recommendedConfig = [...xyRecommendedConfig, ...reactRecommendedConfig, reactImportConfig];
|
|
100
|
+
var recommendedTypeCheckedConfig = [
|
|
101
|
+
...xyRecommendedTypeCheckedConfig,
|
|
102
|
+
...reactRecommendedTypeCheckedConfig,
|
|
103
|
+
reactImportConfig
|
|
104
|
+
];
|
|
105
|
+
var recommendedTypeCheckedWithStorybookConfig = [
|
|
106
|
+
...recommendedTypeCheckedConfig,
|
|
107
|
+
...reactStorybookConfig
|
|
108
|
+
];
|
|
109
|
+
var config = recommendedTypeCheckedWithStorybookConfig;
|
|
67
110
|
export {
|
|
68
111
|
config,
|
|
69
112
|
reactConfig,
|
|
70
113
|
reactImportConfig,
|
|
114
|
+
reactRecommendedConfig,
|
|
115
|
+
reactRecommendedTypeCheckedConfig,
|
|
116
|
+
reactStorybookConfig,
|
|
117
|
+
recommendedConfig,
|
|
118
|
+
recommendedTypeCheckedConfig,
|
|
119
|
+
recommendedTypeCheckedWithStorybookConfig,
|
|
71
120
|
storybookConfig
|
|
72
121
|
};
|
|
73
122
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/react/index.ts","../../src/reactImport/index.ts","../../src/storybook/index.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/react/index.ts","../../src/reactImport/index.ts","../../src/storybook/index.ts"],"sourcesContent":["import {\n recommendedConfig as xyRecommendedConfig,\n recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactRecommendedConfig,\n reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nimport { reactImportConfig } from './reactImport/index.ts'\nimport { storybookConfig } from './storybook/index.ts'\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const recommendedConfig: Linter.Config[] = [...xyRecommendedConfig, ...reactRecommendedConfig, reactImportConfig]\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = [\n ...xyRecommendedTypeCheckedConfig,\n ...reactRecommendedTypeCheckedConfig,\n reactImportConfig,\n]\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = [\n ...recommendedTypeCheckedConfig,\n ...reactStorybookConfig,\n]\n\n// Compatibility export for existing consumers.\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n\nexport {\n reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nexport { reactImportConfig } from './reactImport/index.ts'\nexport { storybookConfig } from './storybook/index.ts'\n","import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,js,jsx}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked ? { projectService: true, tsconfigRootDir: process.cwd() } : {}),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-x': reactPlugin,\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n },\n }\n}\n\nexport const reactRecommendedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\nexport const reactConfig: Linter.Config[] = reactRecommendedTypeCheckedConfig\n","import { importConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nconst importRuleConfig = importConfig.find(config => config.rules?.['import-x/no-internal-modules'] !== undefined)\n\nexport const reactImportConfig: Linter.Config = {\n rules: {\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'react-dom/*',\n 'react-icons/*',\n ...((importRuleConfig?.rules?.['import-x/no-internal-modules'] as [string, { allow: string[] }])?.[1]?.allow ?? []),\n ],\n },\n ],\n },\n}\n","import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n"],"mappings":"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","names":["config","config"]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const reactRecommendedConfig: Linter.Config[];
|
|
3
|
+
export declare const reactRecommendedTypeCheckedConfig: Linter.Config[];
|
|
4
|
+
export declare const reactConfig: Linter.Config[];
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgE5C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAsC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactImport/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactImport/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAatC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/eslint-config-react-flat",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.0",
|
|
4
4
|
"description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xylabs",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@typescript-eslint/parser": "~8.58.0",
|
|
40
|
-
"@xylabs/eslint-config-flat": "~7.
|
|
40
|
+
"@xylabs/eslint-config-flat": "~7.9.0",
|
|
41
41
|
"eslint-plugin-react-dom": "^4.2.3",
|
|
42
42
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
43
43
|
"eslint-plugin-react-naming-convention": "^4.2.3",
|
|
@@ -50,20 +50,20 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@babel/core": "^7.29.0",
|
|
52
52
|
"@testing-library/dom": "^10.4.1",
|
|
53
|
-
"@types/node": "^25.5.
|
|
54
|
-
"@xylabs/ts-scripts-common": "~7.
|
|
55
|
-
"@xylabs/ts-scripts-yarn3": "~7.
|
|
56
|
-
"@xylabs/tsconfig": "~7.
|
|
53
|
+
"@types/node": "^25.5.2",
|
|
54
|
+
"@xylabs/ts-scripts-common": "~7.9.0",
|
|
55
|
+
"@xylabs/ts-scripts-yarn3": "~7.9.0",
|
|
56
|
+
"@xylabs/tsconfig": "~7.9.0",
|
|
57
57
|
"acorn": "^8.16.0",
|
|
58
58
|
"cosmiconfig": "^9.0.1",
|
|
59
59
|
"esbuild": "^0.28.0",
|
|
60
|
-
"eslint": "^10.
|
|
60
|
+
"eslint": "^10.2.0",
|
|
61
61
|
"react": "^19.2.4",
|
|
62
62
|
"react-dom": "^19.2.4",
|
|
63
63
|
"rollup": "^4.60.1",
|
|
64
64
|
"storybook": "^10.3.4",
|
|
65
65
|
"typescript": "^5.9.3",
|
|
66
|
-
"vite": "^8.0.
|
|
66
|
+
"vite": "^8.0.5",
|
|
67
67
|
"vitest": "~4.1.2",
|
|
68
68
|
"zod": "^4.3.6"
|
|
69
69
|
},
|