@greenberry/linting-config 0.2.30 → 3.0.0-beta.1
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 +50 -52
- 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 +44 -19
- 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
|
-
...
|
|
82
|
-
|
|
83
|
-
...jsxA11yPlugin.configs.recommended.rules,
|
|
84
|
-
// TypeScript rules
|
|
59
|
+
...jsxA11yPlugin.configs.strict.rules,
|
|
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,38 @@ 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-iframe-sandbox": "warn",
|
|
112
|
+
"@eslint-react/dom/no-unsafe-target-blank": "warn",
|
|
113
|
+
"@eslint-react/dom/no-script-url": "error",
|
|
114
|
+
// ─── Web API (leak detection in effects) ───────────────
|
|
115
|
+
"@eslint-react/web-api/no-leaked-event-listener": "warn",
|
|
116
|
+
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
117
|
+
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
118
|
+
"@eslint-react/web-api/no-leaked-timeout": "warn",
|
|
119
|
+
// ─── React Compiler ────────────────────────────────────
|
|
122
120
|
"react-compiler/react-compiler": "error",
|
|
123
|
-
// Import
|
|
121
|
+
// ─── Import ────────────────────────────────────────────
|
|
124
122
|
"import-x/extensions": [
|
|
125
123
|
"error",
|
|
126
124
|
"ignorePackages",
|
|
@@ -133,6 +131,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
133
131
|
stories: "always",
|
|
134
132
|
},
|
|
135
133
|
],
|
|
134
|
+
"import-x/no-duplicates": "error",
|
|
136
135
|
"import-x/prefer-default-export": "off",
|
|
137
136
|
"import-x/no-extraneous-dependencies": [
|
|
138
137
|
"error",
|
|
@@ -140,7 +139,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
140
139
|
devDependencies: true,
|
|
141
140
|
},
|
|
142
141
|
],
|
|
143
|
-
// Unicorn
|
|
142
|
+
// ─── Unicorn ───────────────────────────────────────────
|
|
144
143
|
"unicorn/catch-error-name": "error",
|
|
145
144
|
"unicorn/error-message": "error",
|
|
146
145
|
"unicorn/escape-case": "error",
|
|
@@ -159,7 +158,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
159
158
|
"unicorn/prefer-query-selector": "error",
|
|
160
159
|
"unicorn/prefer-type-error": "error",
|
|
161
160
|
"unicorn/throw-new-error": "error",
|
|
162
|
-
// Perfectionist
|
|
161
|
+
// ─── Perfectionist ─────────────────────────────────────
|
|
163
162
|
"perfectionist/sort-jsx-props": [
|
|
164
163
|
"error",
|
|
165
164
|
{
|
|
@@ -174,21 +173,14 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
174
173
|
groups: ["key", "ref", "id", "unknown", "className"],
|
|
175
174
|
},
|
|
176
175
|
],
|
|
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",
|
|
176
|
+
// ─── Accessibility (jsx-a11y strict + extras not in presets) ─
|
|
177
|
+
"jsx-a11y/anchor-ambiguous-text": "warn",
|
|
191
178
|
"jsx-a11y/media-has-caption": "warn",
|
|
179
|
+
"jsx-a11y/accessible-emoji": "warn",
|
|
180
|
+
"jsx-a11y/lang": "warn",
|
|
181
|
+
"jsx-a11y/no-aria-hidden-on-focusable": "error",
|
|
182
|
+
"jsx-a11y/prefer-tag-over-role": "warn",
|
|
183
|
+
// ─── General ───────────────────────────────────────────
|
|
192
184
|
"no-unused-expressions": "error",
|
|
193
185
|
"no-inner-declarations": "error",
|
|
194
186
|
"no-process-env": "error",
|
|
@@ -209,8 +201,6 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
209
201
|
],
|
|
210
202
|
"no-console": ["warn", { allow: ["warn", "error", "info"] }],
|
|
211
203
|
curly: ["error", "all"],
|
|
212
|
-
// Prettier integration
|
|
213
|
-
"prettier/prettier": "error",
|
|
214
204
|
},
|
|
215
205
|
}, {
|
|
216
206
|
files: [
|
|
@@ -219,8 +209,16 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
|
|
|
219
209
|
],
|
|
220
210
|
rules: {
|
|
221
211
|
"@eslint-react/rules-of-hooks": "off",
|
|
212
|
+
"@eslint-react/no-unstable-context-value": "off",
|
|
213
|
+
"@eslint-react/no-unstable-default-props": "off",
|
|
214
|
+
"@eslint-react/no-unused-props": "off",
|
|
215
|
+
"@eslint-react/prefer-destructuring-assignment": "off",
|
|
216
|
+
"no-process-env": "off",
|
|
222
217
|
},
|
|
223
|
-
},
|
|
218
|
+
},
|
|
219
|
+
// Must be last — disables all ESLint formatting rules that conflict with prettier
|
|
220
|
+
// (covers tseslint.configs.stylistic rules like semi, quotes, indent, etc.)
|
|
221
|
+
prettierRecommended, {
|
|
224
222
|
ignores: [
|
|
225
223
|
"**/node_modules/**",
|
|
226
224
|
"**/*.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,CA4JzC"}
|
|
@@ -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,48 @@ 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
|
-
...
|
|
46
|
-
...jsxA11yPlugin.configs.recommended.rules,
|
|
42
|
+
...jsxA11yPlugin.configs.strict.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-iframe-sandbox": "warn",
|
|
67
|
+
"@eslint-react/dom/no-unsafe-target-blank": "warn",
|
|
68
|
+
"@eslint-react/dom/no-script-url": "error",
|
|
69
|
+
// ─── Web API (leak detection in effects) ───────────────
|
|
70
|
+
"@eslint-react/web-api/no-leaked-event-listener": "warn",
|
|
71
|
+
"@eslint-react/web-api/no-leaked-interval": "warn",
|
|
72
|
+
"@eslint-react/web-api/no-leaked-resize-observer": "warn",
|
|
73
|
+
"@eslint-react/web-api/no-leaked-timeout": "warn",
|
|
74
|
+
// ─── React Compiler ────────────────────────────────────
|
|
56
75
|
"react-compiler/react-compiler": "error",
|
|
76
|
+
// ─── Import ────────────────────────────────────────────
|
|
57
77
|
"import-x/prefer-default-export": "off",
|
|
58
78
|
"import-x/no-extraneous-dependencies": [
|
|
59
79
|
"error",
|
|
@@ -61,7 +81,7 @@ const config = [
|
|
|
61
81
|
devDependencies: true,
|
|
62
82
|
},
|
|
63
83
|
],
|
|
64
|
-
// Unicorn
|
|
84
|
+
// ─── Unicorn ───────────────────────────────────────────
|
|
65
85
|
"unicorn/catch-error-name": "error",
|
|
66
86
|
"unicorn/error-message": "error",
|
|
67
87
|
"unicorn/escape-case": "error",
|
|
@@ -80,7 +100,7 @@ const config = [
|
|
|
80
100
|
"unicorn/prefer-query-selector": "error",
|
|
81
101
|
"unicorn/prefer-type-error": "error",
|
|
82
102
|
"unicorn/throw-new-error": "error",
|
|
83
|
-
// Next.js
|
|
103
|
+
// ─── Next.js ───────────────────────────────────────────
|
|
84
104
|
"@next/next/no-html-link-for-pages": "error",
|
|
85
105
|
"@next/next/no-img-element": "error",
|
|
86
106
|
"@next/next/no-unwanted-polyfillio": "error",
|
|
@@ -91,9 +111,14 @@ const config = [
|
|
|
91
111
|
"@next/next/next-script-for-ga": "error",
|
|
92
112
|
"@next/next/no-typos": "error",
|
|
93
113
|
"@next/next/no-duplicate-head": "error",
|
|
94
|
-
//
|
|
95
|
-
"jsx-a11y/
|
|
114
|
+
// ─── Accessibility (jsx-a11y strict + extras not in presets) ─
|
|
115
|
+
"jsx-a11y/anchor-ambiguous-text": "warn",
|
|
96
116
|
"jsx-a11y/media-has-caption": "warn",
|
|
117
|
+
"jsx-a11y/accessible-emoji": "warn",
|
|
118
|
+
"jsx-a11y/lang": "warn",
|
|
119
|
+
"jsx-a11y/no-aria-hidden-on-focusable": "error",
|
|
120
|
+
"jsx-a11y/prefer-tag-over-role": "warn",
|
|
121
|
+
// ─── General ───────────────────────────────────────────
|
|
97
122
|
"no-unused-expressions": "error",
|
|
98
123
|
"no-inner-declarations": "error",
|
|
99
124
|
"no-process-env": "error",
|
|
@@ -114,10 +139,10 @@ const config = [
|
|
|
114
139
|
],
|
|
115
140
|
"no-console": ["warn", { allow: ["warn", "error", "info"] }],
|
|
116
141
|
curly: ["error", "all"],
|
|
117
|
-
// Prettier integration
|
|
118
|
-
"prettier/prettier": "error",
|
|
119
142
|
},
|
|
120
143
|
},
|
|
144
|
+
// Must be last — disables all ESLint formatting rules that conflict with prettier
|
|
145
|
+
prettierRecommended,
|
|
121
146
|
{
|
|
122
147
|
ignores: [".next/*", "coverage/*", "src/env.ts", "**/*.gql"],
|
|
123
148
|
},
|
|
@@ -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.1",
|
|
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
|
}
|