@greenberry/linting-config 0.2.30 → 3.0.0-beta.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/eslint.config.js +46 -51
- package/dist/eslint.config.js.map +1 -1
- package/dist/eslint.storybook.config.js +1 -2
- package/dist/eslint.storybook.config.js.map +1 -1
- package/dist/legacy/eslint.config.d.ts +2 -84
- package/dist/legacy/eslint.config.d.ts.map +1 -1
- package/dist/legacy/eslint.config.js +40 -18
- package/dist/legacy/eslint.config.js.map +1 -1
- package/package.json +19 -16
package/dist/eslint.config.js
CHANGED
|
@@ -2,9 +2,8 @@ import path from "path";
|
|
|
2
2
|
import importPlugin from "eslint-plugin-import-x";
|
|
3
3
|
import jsxA11yPlugin from "eslint-plugin-jsx-a11y";
|
|
4
4
|
import perfectionistPlugin from "eslint-plugin-perfectionist";
|
|
5
|
-
import
|
|
5
|
+
import prettierRecommended from "eslint-plugin-prettier/recommended";
|
|
6
6
|
import reactCompilerPlugin from "eslint-plugin-react-compiler";
|
|
7
|
-
import reactHooksPlugin from "eslint-plugin-react-hooks";
|
|
8
7
|
import unicornPlugin from "eslint-plugin-unicorn";
|
|
9
8
|
import { defineConfig } from "eslint/config";
|
|
10
9
|
import globals from "globals";
|
|
@@ -12,22 +11,13 @@ import tseslint from "typescript-eslint";
|
|
|
12
11
|
import eslintReact from "@eslint-react/eslint-plugin";
|
|
13
12
|
import eslint from "@eslint/js";
|
|
14
13
|
import nextPlugin from "@next/eslint-plugin-next";
|
|
15
|
-
// Extract only meta and rules for TypeScript compatibility with ESLint flat config
|
|
16
|
-
// The plugins include a 'configs' property that's incompatible with the Plugin type
|
|
17
|
-
// but we only need meta and rules for flat config, so we extract just those
|
|
18
|
-
const reactHooksPluginTyped = {
|
|
19
|
-
meta: reactHooksPlugin.meta,
|
|
20
|
-
rules: reactHooksPlugin.rules,
|
|
21
|
-
};
|
|
22
|
-
const eslintReactPlugins =
|
|
23
|
-
// @ts-ignore - plugins property exists at runtime but not in types
|
|
24
|
-
eslintReact.configs.recommended.plugins || {};
|
|
25
14
|
export default defineConfig(eslint.configs.recommended, tseslint.configs.strict, tseslint.configs.stylistic, nextPlugin.configs.recommended, nextPlugin.configs["core-web-vitals"], {
|
|
26
15
|
files: [
|
|
27
16
|
"src/**/*.{js,mjs,cjs,jsx,ts,tsx}",
|
|
28
17
|
"scripts/**/*.{js,mjs,cjs,jsx,ts,tsx}",
|
|
29
18
|
"config/**/*.{js,mjs,cjs,jsx,ts,tsx}",
|
|
30
19
|
],
|
|
20
|
+
extends: [eslintReact.configs["recommended-type-checked"]],
|
|
31
21
|
languageOptions: {
|
|
32
22
|
parserOptions: {
|
|
33
23
|
ecmaVersion: "latest",
|
|
@@ -45,13 +35,10 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
45
35
|
},
|
|
46
36
|
},
|
|
47
37
|
plugins: {
|
|
48
|
-
...eslintReactPlugins,
|
|
49
|
-
"react-hooks": reactHooksPluginTyped,
|
|
50
38
|
"import-x": importPlugin,
|
|
51
39
|
unicorn: unicornPlugin,
|
|
52
40
|
perfectionist: perfectionistPlugin,
|
|
53
41
|
"jsx-a11y": jsxA11yPlugin,
|
|
54
|
-
prettier: prettierPlugin,
|
|
55
42
|
"react-compiler": reactCompilerPlugin,
|
|
56
43
|
},
|
|
57
44
|
settings: {
|
|
@@ -64,24 +51,13 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
64
51
|
"import-x/parsers": {
|
|
65
52
|
"@typescript-eslint/parser": [".ts", ".tsx"],
|
|
66
53
|
},
|
|
67
|
-
react: {
|
|
68
|
-
version: "detect",
|
|
69
|
-
},
|
|
70
|
-
// Disable conflicts between @eslint-react/eslint-plugin and eslint-plugin-react-hooks
|
|
71
|
-
// when both plugins are used together
|
|
72
|
-
"@eslint-react/eslint-plugin": {
|
|
73
|
-
"disable-conflict-eslint-plugin-react-hooks": true,
|
|
74
|
-
},
|
|
75
|
-
// Inform rules about React Compiler compilation mode for better rule accuracy
|
|
76
54
|
"react-x": {
|
|
77
55
|
compilationMode: "infer", // Options: "infer" | "annotation" | "off"
|
|
78
56
|
},
|
|
79
57
|
},
|
|
80
58
|
rules: {
|
|
81
|
-
...eslintReact.configs.recommended.rules,
|
|
82
|
-
...reactHooksPlugin.configs.recommended.rules,
|
|
83
59
|
...jsxA11yPlugin.configs.recommended.rules,
|
|
84
|
-
// TypeScript
|
|
60
|
+
// ─── TypeScript ────────────────────────────────────────
|
|
85
61
|
"@typescript-eslint/array-type": ["error", { default: "array" }],
|
|
86
62
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
87
63
|
"@typescript-eslint/consistent-type-assertions": "error",
|
|
@@ -111,16 +87,39 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
111
87
|
disallowTypeAnnotations: false,
|
|
112
88
|
},
|
|
113
89
|
],
|
|
114
|
-
// React
|
|
90
|
+
// ─── React Core (overrides on recommended-type-checked) ─
|
|
91
|
+
"@eslint-react/exhaustive-deps": "error",
|
|
115
92
|
"@eslint-react/no-array-index-key": "error",
|
|
93
|
+
"@eslint-react/no-duplicate-key": "error",
|
|
116
94
|
"@eslint-react/jsx-shorthand-boolean": "error",
|
|
117
|
-
"@eslint-react/
|
|
95
|
+
"@eslint-react/jsx-shorthand-fragment": "error",
|
|
96
|
+
"@eslint-react/no-leaked-conditional-rendering": "error",
|
|
97
|
+
// Strict rules (not in recommended, added for quality)
|
|
98
|
+
"@eslint-react/no-children-prop": "error",
|
|
99
|
+
"@eslint-react/no-class-component": "error",
|
|
100
|
+
"@eslint-react/no-misused-capture-owner-stack": "error",
|
|
101
|
+
"@eslint-react/no-unstable-context-value": "warn",
|
|
102
|
+
"@eslint-react/no-unstable-default-props": "warn",
|
|
118
103
|
"@eslint-react/no-unused-props": "error",
|
|
119
104
|
"@eslint-react/no-unused-state": "error",
|
|
120
|
-
"@eslint-react/
|
|
121
|
-
"react
|
|
105
|
+
"@eslint-react/no-useless-fragment": "warn",
|
|
106
|
+
"@eslint-react/prefer-destructuring-assignment": "warn",
|
|
107
|
+
// ─── React Hooks ───────────────────────────────────────
|
|
108
|
+
"@eslint-react/no-unnecessary-use-callback": "warn",
|
|
109
|
+
"@eslint-react/no-unnecessary-use-memo": "warn",
|
|
110
|
+
// ─── React DOM ─────────────────────────────────────────
|
|
111
|
+
"@eslint-react/dom/no-missing-button-type": "error",
|
|
112
|
+
"@eslint-react/dom/no-missing-iframe-sandbox": "warn",
|
|
113
|
+
"@eslint-react/dom/no-unsafe-target-blank": "warn",
|
|
114
|
+
"@eslint-react/dom/no-script-url": "error",
|
|
115
|
+
// ─── Web API (leak detection in effects) ───────────────
|
|
116
|
+
"@eslint-react/web-api/no-leaked-event-listener": "warn",
|
|
117
|
+
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
118
|
+
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
119
|
+
"@eslint-react/web-api/no-leaked-timeout": "warn",
|
|
120
|
+
// ─── React Compiler ────────────────────────────────────
|
|
122
121
|
"react-compiler/react-compiler": "error",
|
|
123
|
-
// Import
|
|
122
|
+
// ─── Import ────────────────────────────────────────────
|
|
124
123
|
"import-x/extensions": [
|
|
125
124
|
"error",
|
|
126
125
|
"ignorePackages",
|
|
@@ -133,6 +132,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
133
132
|
stories: "always",
|
|
134
133
|
},
|
|
135
134
|
],
|
|
135
|
+
"import-x/no-duplicates": "error",
|
|
136
136
|
"import-x/prefer-default-export": "off",
|
|
137
137
|
"import-x/no-extraneous-dependencies": [
|
|
138
138
|
"error",
|
|
@@ -140,7 +140,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
140
140
|
devDependencies: true,
|
|
141
141
|
},
|
|
142
142
|
],
|
|
143
|
-
// Unicorn
|
|
143
|
+
// ─── Unicorn ───────────────────────────────────────────
|
|
144
144
|
"unicorn/catch-error-name": "error",
|
|
145
145
|
"unicorn/error-message": "error",
|
|
146
146
|
"unicorn/escape-case": "error",
|
|
@@ -159,7 +159,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
159
159
|
"unicorn/prefer-query-selector": "error",
|
|
160
160
|
"unicorn/prefer-type-error": "error",
|
|
161
161
|
"unicorn/throw-new-error": "error",
|
|
162
|
-
// Perfectionist
|
|
162
|
+
// ─── Perfectionist ─────────────────────────────────────
|
|
163
163
|
"perfectionist/sort-jsx-props": [
|
|
164
164
|
"error",
|
|
165
165
|
{
|
|
@@ -174,21 +174,10 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
174
174
|
groups: ["key", "ref", "id", "unknown", "className"],
|
|
175
175
|
},
|
|
176
176
|
],
|
|
177
|
-
//
|
|
178
|
-
"
|
|
179
|
-
"@eslint-react/use-state": [
|
|
180
|
-
"warn",
|
|
181
|
-
{ enforceLazyInitialization: true },
|
|
182
|
-
],
|
|
183
|
-
"@eslint-react/use-memo": "warn",
|
|
184
|
-
"@eslint-react/no-unnecessary-use-callback": "warn",
|
|
185
|
-
"@eslint-react/no-unnecessary-use-memo": "warn",
|
|
186
|
-
"@eslint-react/exhaustive-deps": "off",
|
|
187
|
-
// React Compiler compatibility rules
|
|
188
|
-
"@eslint-react/unsupported-syntax": "error",
|
|
189
|
-
// Other rules
|
|
190
|
-
"jsx-a11y/alt-text": "error",
|
|
177
|
+
// ─── Accessibility ─────────────────────────────────────
|
|
178
|
+
"jsx-a11y/anchor-ambiguous-text": "warn",
|
|
191
179
|
"jsx-a11y/media-has-caption": "warn",
|
|
180
|
+
// ─── General ───────────────────────────────────────────
|
|
192
181
|
"no-unused-expressions": "error",
|
|
193
182
|
"no-inner-declarations": "error",
|
|
194
183
|
"no-process-env": "error",
|
|
@@ -209,8 +198,6 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
209
198
|
],
|
|
210
199
|
"no-console": ["warn", { allow: ["warn", "error", "info"] }],
|
|
211
200
|
curly: ["error", "all"],
|
|
212
|
-
// Prettier integration
|
|
213
|
-
"prettier/prettier": "error",
|
|
214
201
|
},
|
|
215
202
|
}, {
|
|
216
203
|
files: [
|
|
@@ -219,8 +206,16 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
219
206
|
],
|
|
220
207
|
rules: {
|
|
221
208
|
"@eslint-react/rules-of-hooks": "off",
|
|
209
|
+
"@eslint-react/no-unstable-context-value": "off",
|
|
210
|
+
"@eslint-react/no-unstable-default-props": "off",
|
|
211
|
+
"@eslint-react/no-unused-props": "off",
|
|
212
|
+
"@eslint-react/prefer-destructuring-assignment": "off",
|
|
213
|
+
"no-process-env": "off",
|
|
222
214
|
},
|
|
223
|
-
},
|
|
215
|
+
},
|
|
216
|
+
// Must be last — disables all ESLint formatting rules that conflict with prettier
|
|
217
|
+
// (covers tseslint.configs.stylistic rules like semi, quotes, indent, etc.)
|
|
218
|
+
prettierRecommended, {
|
|
224
219
|
ignores: [
|
|
225
220
|
"**/node_modules/**",
|
|
226
221
|
"**/*.gql",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../src/eslint.config.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../src/eslint.config.js"],"names":[],"mappings":"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"}
|
|
@@ -24,9 +24,8 @@ export default defineConfig(
|
|
|
24
24
|
"storybook/use-storybook-testing-library": "error",
|
|
25
25
|
"@eslint-react/no-array-index-key": "off",
|
|
26
26
|
"@eslint-react/rules-of-hooks": "off",
|
|
27
|
-
"react
|
|
27
|
+
"@eslint-react/exhaustive-deps": "warn",
|
|
28
28
|
"import-x/no-anonymous-default-export": "off",
|
|
29
|
-
"react-hooks/exhaustive-deps": "warn",
|
|
30
29
|
},
|
|
31
30
|
},
|
|
32
31
|
// Storybook main config file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.storybook.config.js","sourceRoot":"","sources":["../src/eslint.storybook.config.js"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY;AACzB,kCAAkC;AAClC;IACE,KAAK,EAAE;QACL,2CAA2C;QAC3C,yCAAyC;KAC1C;IACD,OAAO,EAAE;QACP,SAAS,EAAE,eAAe;KAC3B;IACD,KAAK,EAAE;QACL,8CAA8C;QAC9C,8BAA8B,EAAE,OAAO;QACvC,oCAAoC,EAAE,OAAO;QAC7C,2BAA2B,EAAE,OAAO;QACpC,+BAA+B,EAAE,MAAM;QACvC,mCAAmC,EAAE,MAAM;QAC3C,yBAAyB,EAAE,OAAO;QAClC,8BAA8B,EAAE,MAAM;QACtC,yBAAyB,EAAE,OAAO;QAClC,gCAAgC,EAAE,OAAO;QACzC,yCAAyC,EAAE,OAAO;QAClD,kCAAkC,EAAE,KAAK;QACzC,8BAA8B,EAAE,KAAK;QACrC,
|
|
1
|
+
{"version":3,"file":"eslint.storybook.config.js","sourceRoot":"","sources":["../src/eslint.storybook.config.js"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY;AACzB,kCAAkC;AAClC;IACE,KAAK,EAAE;QACL,2CAA2C;QAC3C,yCAAyC;KAC1C;IACD,OAAO,EAAE;QACP,SAAS,EAAE,eAAe;KAC3B;IACD,KAAK,EAAE;QACL,8CAA8C;QAC9C,8BAA8B,EAAE,OAAO;QACvC,oCAAoC,EAAE,OAAO;QAC7C,2BAA2B,EAAE,OAAO;QACpC,+BAA+B,EAAE,MAAM;QACvC,mCAAmC,EAAE,MAAM;QAC3C,yBAAyB,EAAE,OAAO;QAClC,8BAA8B,EAAE,MAAM;QACtC,yBAAyB,EAAE,OAAO;QAClC,gCAAgC,EAAE,OAAO;QACzC,yCAAyC,EAAE,OAAO;QAClD,kCAAkC,EAAE,KAAK;QACzC,8BAA8B,EAAE,KAAK;QACrC,+BAA+B,EAAE,MAAM;QACvC,sCAAsC,EAAE,KAAK;KAC9C;CACF;AACD,6BAA6B;AAC7B;IACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;IAC3C,OAAO,EAAE;QACP,SAAS,EAAE,eAAe;KAC3B;IACD,KAAK,EAAE;QACL,iCAAiC,EAAE,OAAO;KAC3C;CACF,CACF,CAAC"}
|
|
@@ -1,86 +1,4 @@
|
|
|
1
1
|
export default config;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
languageOptions: {
|
|
5
|
-
sourceType: string;
|
|
6
|
-
parserOptions: {
|
|
7
|
-
project: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
plugins: any;
|
|
11
|
-
settings: {
|
|
12
|
-
"import/resolver": {
|
|
13
|
-
typescript: {
|
|
14
|
-
project: string;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
react: {
|
|
18
|
-
version: string;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
rules: {
|
|
22
|
-
"@eslint-react/no-array-index-key": string;
|
|
23
|
-
"@eslint-react/jsx-shorthand-boolean": string;
|
|
24
|
-
"@eslint-react/no-unnecessary-use-prefix": string;
|
|
25
|
-
"@eslint-react/no-unused-props": string;
|
|
26
|
-
"@eslint-react/no-unused-state": string;
|
|
27
|
-
"@eslint-react/dom/no-void-elements-with-children": string;
|
|
28
|
-
"react-hooks/exhaustive-deps": string;
|
|
29
|
-
"react-compiler/react-compiler": string;
|
|
30
|
-
"import-x/prefer-default-export": string;
|
|
31
|
-
"import-x/no-extraneous-dependencies": (string | {
|
|
32
|
-
devDependencies: boolean;
|
|
33
|
-
})[];
|
|
34
|
-
"unicorn/catch-error-name": string;
|
|
35
|
-
"unicorn/error-message": string;
|
|
36
|
-
"unicorn/escape-case": string;
|
|
37
|
-
"unicorn/explicit-length-check": string;
|
|
38
|
-
"unicorn/new-for-builtins": string;
|
|
39
|
-
"unicorn/no-instanceof-builtins": string;
|
|
40
|
-
"unicorn/no-abusive-eslint-disable": string;
|
|
41
|
-
"unicorn/no-console-spaces": string;
|
|
42
|
-
"unicorn/no-for-loop": string;
|
|
43
|
-
"unicorn/no-hex-escape": string;
|
|
44
|
-
"unicorn/no-new-buffer": string;
|
|
45
|
-
"unicorn/no-unreadable-array-destructuring": string;
|
|
46
|
-
"unicorn/no-zero-fractions": string;
|
|
47
|
-
"unicorn/number-literal-case": string;
|
|
48
|
-
"unicorn/prefer-includes": string;
|
|
49
|
-
"unicorn/prefer-query-selector": string;
|
|
50
|
-
"unicorn/prefer-type-error": string;
|
|
51
|
-
"unicorn/throw-new-error": string;
|
|
52
|
-
"@next/next/no-html-link-for-pages": string;
|
|
53
|
-
"@next/next/no-img-element": string;
|
|
54
|
-
"@next/next/no-unwanted-polyfillio": string;
|
|
55
|
-
"@next/next/no-sync-scripts": string;
|
|
56
|
-
"@next/next/no-script-component-in-head": string;
|
|
57
|
-
"@next/next/google-font-display": string;
|
|
58
|
-
"@next/next/google-font-preconnect": string;
|
|
59
|
-
"@next/next/next-script-for-ga": string;
|
|
60
|
-
"@next/next/no-typos": string;
|
|
61
|
-
"@next/next/no-duplicate-head": string;
|
|
62
|
-
"jsx-a11y/alt-text": string;
|
|
63
|
-
"jsx-a11y/media-has-caption": string;
|
|
64
|
-
"no-unused-expressions": string;
|
|
65
|
-
"no-inner-declarations": string;
|
|
66
|
-
"no-process-env": string;
|
|
67
|
-
"no-restricted-syntax": (string | {
|
|
68
|
-
selector: string;
|
|
69
|
-
message: string;
|
|
70
|
-
})[];
|
|
71
|
-
"no-console": (string | {
|
|
72
|
-
allow: string[];
|
|
73
|
-
})[];
|
|
74
|
-
curly: string[];
|
|
75
|
-
"prettier/prettier": string;
|
|
76
|
-
};
|
|
77
|
-
ignores?: undefined;
|
|
78
|
-
} | {
|
|
79
|
-
ignores: string[];
|
|
80
|
-
files?: undefined;
|
|
81
|
-
languageOptions?: undefined;
|
|
82
|
-
plugins?: undefined;
|
|
83
|
-
settings?: undefined;
|
|
84
|
-
rules?: undefined;
|
|
85
|
-
})[];
|
|
2
|
+
/** @type {import("eslint").Linter.Config[]} */
|
|
3
|
+
declare const config: import("eslint").Linter.Config[];
|
|
86
4
|
//# sourceMappingURL=eslint.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":";AASA,+CAA+C;AAC/C,sBADW,OAAO,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAyJzC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import importPlugin from "eslint-plugin-import-x";
|
|
2
2
|
import jsxA11yPlugin from "eslint-plugin-jsx-a11y";
|
|
3
|
-
import
|
|
3
|
+
import prettierRecommended from "eslint-plugin-prettier/recommended";
|
|
4
4
|
import eslintReact from "@eslint-react/eslint-plugin";
|
|
5
5
|
import reactCompilerPlugin from "eslint-plugin-react-compiler";
|
|
6
|
-
import reactHooksPlugin from "eslint-plugin-react-hooks";
|
|
7
6
|
import unicornPlugin from "eslint-plugin-unicorn";
|
|
8
7
|
import nextPlugin from "@next/eslint-plugin-next";
|
|
8
|
+
/** @type {import("eslint").Linter.Config[]} */
|
|
9
9
|
const config = [
|
|
10
10
|
{
|
|
11
11
|
files: ["**/*.{js,mjs,cjs,jsx,ts,tsx}"],
|
|
@@ -19,14 +19,11 @@ const config = [
|
|
|
19
19
|
// Spread plugins from @eslint-react/eslint-plugin recommended config
|
|
20
20
|
// This includes: @eslint-react, @eslint-react/dom, @eslint-react/web-api,
|
|
21
21
|
// @eslint-react/hooks-extra, @eslint-react/naming-convention
|
|
22
|
-
// @ts-expect-error - plugins property exists at runtime but not in types
|
|
23
22
|
...eslintReact.configs.recommended.plugins,
|
|
24
|
-
"react-hooks": reactHooksPlugin,
|
|
25
23
|
"import-x": importPlugin,
|
|
26
24
|
unicorn: unicornPlugin,
|
|
27
25
|
"@next/next": nextPlugin,
|
|
28
26
|
"jsx-a11y": jsxA11yPlugin,
|
|
29
|
-
prettier: prettierPlugin,
|
|
30
27
|
"react-compiler": reactCompilerPlugin,
|
|
31
28
|
},
|
|
32
29
|
settings: {
|
|
@@ -35,25 +32,49 @@ const config = [
|
|
|
35
32
|
project: "./jsconfig.json",
|
|
36
33
|
},
|
|
37
34
|
},
|
|
38
|
-
react: {
|
|
39
|
-
|
|
35
|
+
"react-x": {
|
|
36
|
+
compilationMode: "infer",
|
|
40
37
|
},
|
|
41
38
|
},
|
|
42
39
|
rules: {
|
|
43
|
-
// Include recommended rules
|
|
40
|
+
// Include recommended rules from @eslint-react (replaces eslint-plugin-react-hooks)
|
|
44
41
|
...eslintReact.configs.recommended.rules,
|
|
45
|
-
...reactHooksPlugin.configs.recommended.rules,
|
|
46
42
|
...jsxA11yPlugin.configs.recommended.rules,
|
|
47
43
|
...nextPlugin.configs.recommended.rules,
|
|
48
|
-
// React
|
|
44
|
+
// ─── React Core (overrides on recommended defaults) ────
|
|
45
|
+
"@eslint-react/exhaustive-deps": "error",
|
|
49
46
|
"@eslint-react/no-array-index-key": "error",
|
|
47
|
+
"@eslint-react/no-duplicate-key": "error",
|
|
50
48
|
"@eslint-react/jsx-shorthand-boolean": "error",
|
|
51
|
-
"@eslint-react/
|
|
49
|
+
"@eslint-react/jsx-shorthand-fragment": "error",
|
|
50
|
+
// Strict rules (not in recommended, added for quality)
|
|
51
|
+
"@eslint-react/no-children-prop": "error",
|
|
52
|
+
"@eslint-react/no-class-component": "error",
|
|
53
|
+
"@eslint-react/no-misused-capture-owner-stack": "error",
|
|
54
|
+
"@eslint-react/no-unstable-context-value": "warn",
|
|
55
|
+
"@eslint-react/no-unstable-default-props": "warn",
|
|
52
56
|
"@eslint-react/no-unused-props": "error",
|
|
53
57
|
"@eslint-react/no-unused-state": "error",
|
|
58
|
+
"@eslint-react/no-useless-fragment": "warn",
|
|
59
|
+
"@eslint-react/prefer-destructuring-assignment": "warn",
|
|
60
|
+
"@eslint-react/no-unnecessary-use-prefix": "warn",
|
|
61
|
+
// ─── React Hooks ───────────────────────────────────────
|
|
62
|
+
"@eslint-react/no-unnecessary-use-callback": "warn",
|
|
63
|
+
"@eslint-react/no-unnecessary-use-memo": "warn",
|
|
64
|
+
// ─── React DOM ─────────────────────────────────────────
|
|
54
65
|
"@eslint-react/dom/no-void-elements-with-children": "error",
|
|
55
|
-
"react
|
|
66
|
+
"@eslint-react/dom/no-missing-button-type": "error",
|
|
67
|
+
"@eslint-react/dom/no-missing-iframe-sandbox": "warn",
|
|
68
|
+
"@eslint-react/dom/no-unsafe-target-blank": "warn",
|
|
69
|
+
"@eslint-react/dom/no-script-url": "error",
|
|
70
|
+
// ─── Web API (leak detection in effects) ───────────────
|
|
71
|
+
"@eslint-react/web-api/no-leaked-event-listener": "warn",
|
|
72
|
+
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
73
|
+
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
74
|
+
"@eslint-react/web-api/no-leaked-timeout": "warn",
|
|
75
|
+
// ─── React Compiler ────────────────────────────────────
|
|
56
76
|
"react-compiler/react-compiler": "error",
|
|
77
|
+
// ─── Import ────────────────────────────────────────────
|
|
57
78
|
"import-x/prefer-default-export": "off",
|
|
58
79
|
"import-x/no-extraneous-dependencies": [
|
|
59
80
|
"error",
|
|
@@ -61,7 +82,7 @@ const config = [
|
|
|
61
82
|
devDependencies: true,
|
|
62
83
|
},
|
|
63
84
|
],
|
|
64
|
-
// Unicorn
|
|
85
|
+
// ─── Unicorn ───────────────────────────────────────────
|
|
65
86
|
"unicorn/catch-error-name": "error",
|
|
66
87
|
"unicorn/error-message": "error",
|
|
67
88
|
"unicorn/escape-case": "error",
|
|
@@ -80,7 +101,7 @@ const config = [
|
|
|
80
101
|
"unicorn/prefer-query-selector": "error",
|
|
81
102
|
"unicorn/prefer-type-error": "error",
|
|
82
103
|
"unicorn/throw-new-error": "error",
|
|
83
|
-
// Next.js
|
|
104
|
+
// ─── Next.js ───────────────────────────────────────────
|
|
84
105
|
"@next/next/no-html-link-for-pages": "error",
|
|
85
106
|
"@next/next/no-img-element": "error",
|
|
86
107
|
"@next/next/no-unwanted-polyfillio": "error",
|
|
@@ -91,9 +112,10 @@ const config = [
|
|
|
91
112
|
"@next/next/next-script-for-ga": "error",
|
|
92
113
|
"@next/next/no-typos": "error",
|
|
93
114
|
"@next/next/no-duplicate-head": "error",
|
|
94
|
-
//
|
|
95
|
-
"jsx-a11y/
|
|
115
|
+
// ─── Accessibility ─────────────────────────────────────
|
|
116
|
+
"jsx-a11y/anchor-ambiguous-text": "warn",
|
|
96
117
|
"jsx-a11y/media-has-caption": "warn",
|
|
118
|
+
// ─── General ───────────────────────────────────────────
|
|
97
119
|
"no-unused-expressions": "error",
|
|
98
120
|
"no-inner-declarations": "error",
|
|
99
121
|
"no-process-env": "error",
|
|
@@ -114,10 +136,10 @@ const config = [
|
|
|
114
136
|
],
|
|
115
137
|
"no-console": ["warn", { allow: ["warn", "error", "info"] }],
|
|
116
138
|
curly: ["error", "all"],
|
|
117
|
-
// Prettier integration
|
|
118
|
-
"prettier/prettier": "error",
|
|
119
139
|
},
|
|
120
140
|
},
|
|
141
|
+
// Must be last — disables all ESLint formatting rules that conflict with prettier
|
|
142
|
+
prettierRecommended,
|
|
121
143
|
{
|
|
122
144
|
ignores: [".next/*", "coverage/*", "src/env.ts", "**/*.gql"],
|
|
123
145
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@greenberry/linting-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "3.0.0-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,42 +18,45 @@
|
|
|
18
18
|
"build": "npm run clean && tsc",
|
|
19
19
|
"release:patch": "npm run build && npm version patch && npm publish --access public",
|
|
20
20
|
"release:minor": "npm run build && npm version minor && npm publish --access public",
|
|
21
|
-
"release:major": "npm run build && npm version major && npm publish --access public"
|
|
21
|
+
"release:major": "npm run build && npm version major && npm publish --access public",
|
|
22
|
+
"publish:beta": "npm run build && npm publish --access public --tag beta",
|
|
23
|
+
"release:beta": "npm run build && npm version prerelease --preid=beta && npm publish --access public --tag beta"
|
|
22
24
|
},
|
|
23
25
|
"files": [
|
|
24
26
|
"dist"
|
|
25
27
|
],
|
|
26
28
|
"overrides": {
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
+
"ajv": "^8.18.0",
|
|
30
|
+
"eslint-plugin-jsx-a11y": {
|
|
31
|
+
"eslint": "$eslint"
|
|
32
|
+
}
|
|
29
33
|
},
|
|
30
34
|
"dependencies": {
|
|
31
|
-
"@eslint-react/eslint-plugin": "^3.0.0
|
|
35
|
+
"@eslint-react/eslint-plugin": "^3.0.0",
|
|
32
36
|
"@ianvs/prettier-plugin-sort-imports": "^4.7.1",
|
|
33
|
-
"@next/eslint-plugin-next": "^16.1
|
|
34
|
-
"@typescript-eslint/parser": "^8.
|
|
35
|
-
"eslint": "^
|
|
37
|
+
"@next/eslint-plugin-next": "^16.2.1",
|
|
38
|
+
"@typescript-eslint/parser": "^8.57.2",
|
|
39
|
+
"eslint": "^10.0.0",
|
|
36
40
|
"eslint-config-prettier": "^10.1.8",
|
|
37
41
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
38
|
-
"eslint-plugin-import-x": "^4.16.
|
|
42
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
39
43
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
40
|
-
"eslint-plugin-perfectionist": "^5.
|
|
44
|
+
"eslint-plugin-perfectionist": "^5.7.0",
|
|
41
45
|
"eslint-plugin-prettier": "^5.5.5",
|
|
42
46
|
"eslint-plugin-react-compiler": "^19.1.0-rc.2",
|
|
43
|
-
"eslint-plugin-
|
|
44
|
-
"eslint-plugin-storybook": "^10.2.10",
|
|
47
|
+
"eslint-plugin-storybook": "^10.3.3",
|
|
45
48
|
"eslint-plugin-unicorn": "^63.0.0",
|
|
46
|
-
"globals": "^17.
|
|
49
|
+
"globals": "^17.4.0",
|
|
47
50
|
"prettier": "^3.8.1",
|
|
48
51
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
49
|
-
"stylelint": "^17.
|
|
52
|
+
"stylelint": "^17.6.0",
|
|
50
53
|
"stylelint-config-standard-scss": "^17.0.0",
|
|
51
54
|
"stylelint-prettier": "^5.0.3",
|
|
52
|
-
"typescript-eslint": "^8.
|
|
55
|
+
"typescript-eslint": "^8.57.2"
|
|
53
56
|
},
|
|
54
57
|
"devDependencies": {
|
|
55
58
|
"@types/eslint-plugin-jsx-a11y": "^6.10.1",
|
|
56
|
-
"@types/node": "^25.
|
|
59
|
+
"@types/node": "^25.5.0",
|
|
57
60
|
"typescript": "^5.9.3"
|
|
58
61
|
}
|
|
59
62
|
}
|