@greenberry/linting-config 0.2.3 → 0.2.5

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.
@@ -3,15 +3,30 @@ import importPlugin from "eslint-plugin-import";
3
3
  import jsxA11yPlugin from "eslint-plugin-jsx-a11y";
4
4
  import perfectionistPlugin from "eslint-plugin-perfectionist";
5
5
  import prettierPlugin from "eslint-plugin-prettier";
6
- import reactPlugin from "eslint-plugin-react";
6
+ import eslintReact from "@eslint-react/eslint-plugin";
7
7
  import reactCompilerPlugin from "eslint-plugin-react-compiler";
8
8
  import reactHooksPlugin from "eslint-plugin-react-hooks";
9
9
  import reactHooksExtraPlugin from "eslint-plugin-react-hooks-extra";
10
+ import storybookPlugin from "eslint-plugin-storybook";
10
11
  import unicornPlugin from "eslint-plugin-unicorn";
11
12
  import { defineConfig } from "eslint/config";
12
13
  import globals from "globals";
13
14
  import tseslint from "typescript-eslint";
14
15
  import eslint from "@eslint/js";
16
+ // Extract only meta and rules for TypeScript compatibility with ESLint flat config
17
+ // The plugins include a 'configs' property that's incompatible with the Plugin type
18
+ // but we only need meta and rules for flat config, so we extract just those
19
+ const reactHooksPluginTyped = {
20
+ meta: reactHooksPlugin.meta,
21
+ rules: reactHooksPlugin.rules,
22
+ };
23
+ const reactHooksExtraPluginTyped = {
24
+ meta: reactHooksExtraPlugin.meta,
25
+ rules: reactHooksExtraPlugin.rules,
26
+ };
27
+ const eslintReactPlugins =
28
+ // @ts-ignore - plugins property exists at runtime but not in types
29
+ eslintReact.configs.recommended.plugins || {};
15
30
  export default defineConfig(eslint.configs.recommended, tseslint.configs.strict, tseslint.configs.stylistic, {
16
31
  files: ["**/*.{js,mjs,cjs,jsx,ts,tsx}"],
17
32
  languageOptions: {
@@ -31,15 +46,16 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
31
46
  },
32
47
  },
33
48
  plugins: {
34
- react: reactPlugin,
35
- "react-hooks": reactHooksPlugin,
36
- "react-hooks-extra": reactHooksExtraPlugin,
49
+ ...eslintReactPlugins,
50
+ "react-hooks": reactHooksPluginTyped,
51
+ "react-hooks-extra": reactHooksExtraPluginTyped,
37
52
  import: importPlugin,
38
53
  unicorn: unicornPlugin,
39
54
  perfectionist: perfectionistPlugin,
40
55
  "jsx-a11y": jsxA11yPlugin,
41
56
  prettier: prettierPlugin,
42
57
  "react-compiler": reactCompilerPlugin,
58
+ storybook: storybookPlugin,
43
59
  },
44
60
  settings: {
45
61
  "import/resolver": {
@@ -52,8 +68,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
52
68
  },
53
69
  },
54
70
  rules: {
55
- // Include recommended rules
56
- ...reactPlugin.configs["jsx-runtime"].rules,
71
+ ...eslintReact.configs.recommended.rules,
57
72
  ...reactHooksPlugin.configs.recommended.rules,
58
73
  ...jsxA11yPlugin.configs.recommended.rules,
59
74
  // TypeScript rules
@@ -86,22 +101,18 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
86
101
  disallowTypeAnnotations: false,
87
102
  },
88
103
  ],
89
- // React rules
90
- "react/jsx-boolean-value": "error",
91
- "react/jsx-curly-brace-presence": [
92
- "error",
93
- { props: "never", children: "never" },
94
- ],
95
- "react/jsx-filename-extension": [
104
+ // React rules (using @eslint-react/eslint-plugin)
105
+ "@eslint-react/no-array-index-key": "error",
106
+ "@eslint-react/jsx-shorthand-boolean": "error",
107
+ "@eslint-react/no-unnecessary-use-prefix": "warn",
108
+ "@eslint-react/no-unused-props": "error",
109
+ "@eslint-react/no-unused-state": "error",
110
+ "@eslint-react/dom/no-void-elements-with-children": "error",
111
+ "@eslint-react/naming-convention/filename-extension": [
96
112
  "error",
97
113
  { extensions: [".jsx", ".tsx"] },
98
114
  ],
99
- "react/no-array-index-key": "error",
100
- "react/no-unused-prop-types": "error",
101
- "react/no-unused-state": "error",
102
- "react/void-dom-elements-no-children": "error",
103
115
  "react-hooks/exhaustive-deps": "error",
104
- "react/no-object-type-as-default-prop": "error",
105
116
  "react-compiler/react-compiler": "error",
106
117
  // Import rules
107
118
  "import/extensions": [
@@ -113,6 +124,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
113
124
  ts: "always",
114
125
  tsx: "always",
115
126
  scss: "always",
127
+ stories: "always",
116
128
  },
117
129
  ],
118
130
  "import/prefer-default-export": "off",
@@ -163,12 +175,11 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
163
175
  groups: ["key", "ref", "id", "unknown", "className"],
164
176
  },
165
177
  ],
166
- // React Hooks Extra rules
167
- "react-hooks-extra/no-direct-set-state-in-use-effect": "warn",
168
- "react-hooks-extra/no-unnecessary-use-prefix": "warn",
169
- "react-hooks-extra/prefer-use-state-lazy-initialization": "warn",
170
- "react-hooks-extra/no-unnecessary-use-callback": "warn",
171
- "react-hooks-extra/no-unnecessary-use-memo": "warn",
178
+ // React Hooks Extra rules (migrated to @eslint-react/eslint-plugin)
179
+ "@eslint-react/hooks-extra/no-direct-set-state-in-use-effect": "warn",
180
+ "@eslint-react/prefer-use-state-lazy-initialization": "warn",
181
+ "@eslint-react/no-unnecessary-use-callback": "warn",
182
+ "@eslint-react/no-unnecessary-use-memo": "warn",
172
183
  // Other rules
173
184
  "jsx-a11y/alt-text": "error",
174
185
  "jsx-a11y/media-has-caption": "warn",
@@ -195,6 +206,44 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
195
206
  // Prettier integration
196
207
  "prettier/prettier": "error",
197
208
  },
209
+ },
210
+ // Storybook stories configuration
211
+ {
212
+ files: [
213
+ "**/*.stories.@(js|jsx|ts|tsx|mjs|cjs|mdx)",
214
+ "**/*.story.@(js|jsx|ts|tsx|mjs|cjs|mdx)",
215
+ ],
216
+ plugins: {
217
+ storybook: storybookPlugin,
218
+ },
219
+ rules: {
220
+ // Storybook recommended rules for story files
221
+ "storybook/await-interactions": "error",
222
+ "storybook/context-in-play-function": "error",
223
+ "storybook/default-exports": "error",
224
+ "storybook/hierarchy-separator": "warn",
225
+ "storybook/no-redundant-story-name": "warn",
226
+ "storybook/no-stories-of": "error",
227
+ "storybook/prefer-pascal-case": "warn",
228
+ "storybook/story-exports": "error",
229
+ "storybook/use-storybook-expect": "error",
230
+ "storybook/use-storybook-testing-library": "error",
231
+ "@eslint-react/naming-convention/filename-extension": "off",
232
+ "@eslint-react/no-array-index-key": "off", // Allow index as key in story files
233
+ "react-hooks/rules-of-hooks": "off",
234
+ "import/no-anonymous-default-export": "off",
235
+ "react-hooks/exhaustive-deps": "warn",
236
+ },
237
+ },
238
+ // Storybook main config file
239
+ {
240
+ files: [".storybook/main.@(js|cjs|mjs|ts)"],
241
+ plugins: {
242
+ storybook: storybookPlugin,
243
+ },
244
+ rules: {
245
+ "storybook/no-uninstalled-addons": "error",
246
+ },
198
247
  }, {
199
248
  ignores: [
200
249
  ".next/*",
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../src/eslint.config.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../src/eslint.config.js"],"names":[],"mappings":"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"}
@@ -7,330 +7,7 @@ declare const config: ({
7
7
  project: string;
8
8
  };
9
9
  };
10
- plugins: {
11
- react: {
12
- deprecatedRules: Partial<{
13
- 'boolean-prop-naming': import("eslint").Rule.RuleModule;
14
- 'button-has-type': import("eslint").Rule.RuleModule;
15
- 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
16
- 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
17
- 'destructuring-assignment': import("eslint").Rule.RuleModule;
18
- 'display-name': import("eslint").Rule.RuleModule;
19
- 'forbid-component-props': import("eslint").Rule.RuleModule;
20
- 'forbid-dom-props': import("eslint").Rule.RuleModule;
21
- 'forbid-elements': import("eslint").Rule.RuleModule;
22
- 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
23
- 'forbid-prop-types': import("eslint").Rule.RuleModule;
24
- 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
25
- 'function-component-definition': import("eslint").Rule.RuleModule;
26
- 'hook-use-state': import("eslint").Rule.RuleModule;
27
- 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
28
- 'jsx-boolean-value': import("eslint").Rule.RuleModule;
29
- 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
30
- 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
31
- 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
32
- 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
33
- 'jsx-curly-newline': import("eslint").Rule.RuleModule;
34
- 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
35
- 'jsx-filename-extension': import("eslint").Rule.RuleModule;
36
- 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
37
- 'jsx-handler-names': import("eslint").Rule.RuleModule;
38
- 'jsx-indent': import("eslint").Rule.RuleModule;
39
- 'jsx-indent-props': import("eslint").Rule.RuleModule;
40
- 'jsx-key': import("eslint").Rule.RuleModule;
41
- 'jsx-max-depth': import("eslint").Rule.RuleModule;
42
- 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
43
- 'jsx-newline': import("eslint").Rule.RuleModule;
44
- 'jsx-no-bind': import("eslint").Rule.RuleModule;
45
- 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
46
- 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
47
- 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
48
- 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
49
- 'jsx-no-literals': import("eslint").Rule.RuleModule;
50
- 'jsx-no-script-url': import("eslint").Rule.RuleModule;
51
- 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
52
- 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
53
- 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
54
- 'jsx-no-undef': import("eslint").Rule.RuleModule;
55
- 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
56
- 'jsx-pascal-case': import("eslint").Rule.RuleModule;
57
- 'jsx-fragments': import("eslint").Rule.RuleModule;
58
- 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
59
- 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
60
- 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
61
- 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
62
- 'jsx-sort-props': import("eslint").Rule.RuleModule;
63
- 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
64
- 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
65
- 'jsx-uses-react': import("eslint").Rule.RuleModule;
66
- 'jsx-uses-vars': import("eslint").Rule.RuleModule;
67
- 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
68
- 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
69
- 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
70
- 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
71
- 'no-array-index-key': import("eslint").Rule.RuleModule;
72
- 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
73
- 'no-children-prop': import("eslint").Rule.RuleModule;
74
- 'no-danger': import("eslint").Rule.RuleModule;
75
- 'no-danger-with-children': import("eslint").Rule.RuleModule;
76
- 'no-deprecated': import("eslint").Rule.RuleModule;
77
- 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
78
- 'no-did-update-set-state': import("eslint").Rule.RuleModule;
79
- 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
80
- 'no-find-dom-node': import("eslint").Rule.RuleModule;
81
- 'no-is-mounted': import("eslint").Rule.RuleModule;
82
- 'no-multi-comp': import("eslint").Rule.RuleModule;
83
- 'no-namespace': import("eslint").Rule.RuleModule;
84
- 'no-set-state': import("eslint").Rule.RuleModule;
85
- 'no-string-refs': import("eslint").Rule.RuleModule;
86
- 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
87
- 'no-render-return-value': import("eslint").Rule.RuleModule;
88
- 'no-this-in-sfc': import("eslint").Rule.RuleModule;
89
- 'no-typos': import("eslint").Rule.RuleModule;
90
- 'no-unescaped-entities': import("eslint").Rule.RuleModule;
91
- 'no-unknown-property': import("eslint").Rule.RuleModule;
92
- 'no-unsafe': import("eslint").Rule.RuleModule;
93
- 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
94
- 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
95
- 'no-unused-prop-types': import("eslint").Rule.RuleModule;
96
- 'no-unused-state': import("eslint").Rule.RuleModule;
97
- 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
98
- 'no-will-update-set-state': import("eslint").Rule.RuleModule;
99
- 'prefer-es6-class': import("eslint").Rule.RuleModule;
100
- 'prefer-exact-props': import("eslint").Rule.RuleModule;
101
- 'prefer-read-only-props': import("eslint").Rule.RuleModule;
102
- 'prefer-stateless-function': import("eslint").Rule.RuleModule;
103
- 'prop-types': import("eslint").Rule.RuleModule;
104
- 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
105
- 'require-default-props': import("eslint").Rule.RuleModule;
106
- 'require-optimization': import("eslint").Rule.RuleModule;
107
- 'require-render-return': import("eslint").Rule.RuleModule;
108
- 'self-closing-comp': import("eslint").Rule.RuleModule;
109
- 'sort-comp': import("eslint").Rule.RuleModule;
110
- 'sort-default-props': import("eslint").Rule.RuleModule;
111
- 'sort-prop-types': import("eslint").Rule.RuleModule;
112
- 'state-in-constructor': import("eslint").Rule.RuleModule;
113
- 'static-property-placement': import("eslint").Rule.RuleModule;
114
- 'style-prop-object': import("eslint").Rule.RuleModule;
115
- 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
116
- }>;
117
- rules: {
118
- 'boolean-prop-naming': import("eslint").Rule.RuleModule;
119
- 'button-has-type': import("eslint").Rule.RuleModule;
120
- 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
121
- 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
122
- 'destructuring-assignment': import("eslint").Rule.RuleModule;
123
- 'display-name': import("eslint").Rule.RuleModule;
124
- 'forbid-component-props': import("eslint").Rule.RuleModule;
125
- 'forbid-dom-props': import("eslint").Rule.RuleModule;
126
- 'forbid-elements': import("eslint").Rule.RuleModule;
127
- 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
128
- 'forbid-prop-types': import("eslint").Rule.RuleModule;
129
- 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
130
- 'function-component-definition': import("eslint").Rule.RuleModule;
131
- 'hook-use-state': import("eslint").Rule.RuleModule;
132
- 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
133
- 'jsx-boolean-value': import("eslint").Rule.RuleModule;
134
- 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
135
- 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
136
- 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
137
- 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
138
- 'jsx-curly-newline': import("eslint").Rule.RuleModule;
139
- 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
140
- 'jsx-filename-extension': import("eslint").Rule.RuleModule;
141
- 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
142
- 'jsx-handler-names': import("eslint").Rule.RuleModule;
143
- 'jsx-indent': import("eslint").Rule.RuleModule;
144
- 'jsx-indent-props': import("eslint").Rule.RuleModule;
145
- 'jsx-key': import("eslint").Rule.RuleModule;
146
- 'jsx-max-depth': import("eslint").Rule.RuleModule;
147
- 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
148
- 'jsx-newline': import("eslint").Rule.RuleModule;
149
- 'jsx-no-bind': import("eslint").Rule.RuleModule;
150
- 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
151
- 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
152
- 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
153
- 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
154
- 'jsx-no-literals': import("eslint").Rule.RuleModule;
155
- 'jsx-no-script-url': import("eslint").Rule.RuleModule;
156
- 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
157
- 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
158
- 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
159
- 'jsx-no-undef': import("eslint").Rule.RuleModule;
160
- 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
161
- 'jsx-pascal-case': import("eslint").Rule.RuleModule;
162
- 'jsx-fragments': import("eslint").Rule.RuleModule;
163
- 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
164
- 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
165
- 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
166
- 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
167
- 'jsx-sort-props': import("eslint").Rule.RuleModule;
168
- 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
169
- 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
170
- 'jsx-uses-react': import("eslint").Rule.RuleModule;
171
- 'jsx-uses-vars': import("eslint").Rule.RuleModule;
172
- 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
173
- 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
174
- 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
175
- 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
176
- 'no-array-index-key': import("eslint").Rule.RuleModule;
177
- 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
178
- 'no-children-prop': import("eslint").Rule.RuleModule;
179
- 'no-danger': import("eslint").Rule.RuleModule;
180
- 'no-danger-with-children': import("eslint").Rule.RuleModule;
181
- 'no-deprecated': import("eslint").Rule.RuleModule;
182
- 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
183
- 'no-did-update-set-state': import("eslint").Rule.RuleModule;
184
- 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
185
- 'no-find-dom-node': import("eslint").Rule.RuleModule;
186
- 'no-is-mounted': import("eslint").Rule.RuleModule;
187
- 'no-multi-comp': import("eslint").Rule.RuleModule;
188
- 'no-namespace': import("eslint").Rule.RuleModule;
189
- 'no-set-state': import("eslint").Rule.RuleModule;
190
- 'no-string-refs': import("eslint").Rule.RuleModule;
191
- 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
192
- 'no-render-return-value': import("eslint").Rule.RuleModule;
193
- 'no-this-in-sfc': import("eslint").Rule.RuleModule;
194
- 'no-typos': import("eslint").Rule.RuleModule;
195
- 'no-unescaped-entities': import("eslint").Rule.RuleModule;
196
- 'no-unknown-property': import("eslint").Rule.RuleModule;
197
- 'no-unsafe': import("eslint").Rule.RuleModule;
198
- 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
199
- 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
200
- 'no-unused-prop-types': import("eslint").Rule.RuleModule;
201
- 'no-unused-state': import("eslint").Rule.RuleModule;
202
- 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
203
- 'no-will-update-set-state': import("eslint").Rule.RuleModule;
204
- 'prefer-es6-class': import("eslint").Rule.RuleModule;
205
- 'prefer-exact-props': import("eslint").Rule.RuleModule;
206
- 'prefer-read-only-props': import("eslint").Rule.RuleModule;
207
- 'prefer-stateless-function': import("eslint").Rule.RuleModule;
208
- 'prop-types': import("eslint").Rule.RuleModule;
209
- 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
210
- 'require-default-props': import("eslint").Rule.RuleModule;
211
- 'require-optimization': import("eslint").Rule.RuleModule;
212
- 'require-render-return': import("eslint").Rule.RuleModule;
213
- 'self-closing-comp': import("eslint").Rule.RuleModule;
214
- 'sort-comp': import("eslint").Rule.RuleModule;
215
- 'sort-default-props': import("eslint").Rule.RuleModule;
216
- 'sort-prop-types': import("eslint").Rule.RuleModule;
217
- 'state-in-constructor': import("eslint").Rule.RuleModule;
218
- 'static-property-placement': import("eslint").Rule.RuleModule;
219
- 'style-prop-object': import("eslint").Rule.RuleModule;
220
- 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
221
- };
222
- configs: {
223
- recommended: {
224
- plugins: ["react"];
225
- parserOptions: {
226
- ecmaFeatures: {
227
- jsx: boolean;
228
- };
229
- };
230
- rules: {
231
- "react/display-name": 2;
232
- "react/jsx-key": 2;
233
- "react/jsx-no-comment-textnodes": 2;
234
- "react/jsx-no-duplicate-props": 2;
235
- "react/jsx-no-target-blank": 2;
236
- "react/jsx-no-undef": 2;
237
- "react/jsx-uses-react": 2;
238
- "react/jsx-uses-vars": 2;
239
- "react/no-children-prop": 2;
240
- "react/no-danger-with-children": 2;
241
- "react/no-deprecated": 2;
242
- "react/no-direct-mutation-state": 2;
243
- "react/no-find-dom-node": 2;
244
- "react/no-is-mounted": 2;
245
- "react/no-render-return-value": 2;
246
- "react/no-string-refs": 2;
247
- "react/no-unescaped-entities": 2;
248
- "react/no-unknown-property": 2;
249
- "react/no-unsafe": 0;
250
- "react/prop-types": 2;
251
- "react/react-in-jsx-scope": 2;
252
- "react/require-render-return": 2;
253
- };
254
- };
255
- all: {
256
- plugins: ["react"];
257
- parserOptions: {
258
- ecmaFeatures: {
259
- jsx: boolean;
260
- };
261
- };
262
- rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
263
- };
264
- 'jsx-runtime': {
265
- plugins: ["react"];
266
- parserOptions: {
267
- ecmaFeatures: {
268
- jsx: boolean;
269
- };
270
- jsxPragma: any;
271
- };
272
- rules: {
273
- "react/react-in-jsx-scope": 0;
274
- "react/jsx-uses-react": 0;
275
- };
276
- };
277
- flat: Record<string, reactPlugin.ReactFlatConfig>;
278
- } & {
279
- flat: Record<string, reactPlugin.ReactFlatConfig>;
280
- };
281
- };
282
- "react-hooks": typeof reactHooksPlugin;
283
- import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
284
- meta: {
285
- name: string;
286
- version: string;
287
- };
288
- configs: {
289
- "recommended": import("eslint").Linter.LegacyConfig;
290
- "errors": import("eslint").Linter.LegacyConfig;
291
- "warnings": import("eslint").Linter.LegacyConfig;
292
- "stage-0": import("eslint").Linter.LegacyConfig;
293
- "react": import("eslint").Linter.LegacyConfig;
294
- "react-native": import("eslint").Linter.LegacyConfig;
295
- "electron": import("eslint").Linter.LegacyConfig;
296
- "typescript": import("eslint").Linter.LegacyConfig;
297
- };
298
- flatConfigs: {
299
- "recommended": import("eslint").Linter.FlatConfig;
300
- "errors": import("eslint").Linter.FlatConfig;
301
- "warnings": import("eslint").Linter.FlatConfig;
302
- "stage-0": import("eslint").Linter.FlatConfig;
303
- "react": import("eslint").Linter.FlatConfig;
304
- "react-native": import("eslint").Linter.FlatConfig;
305
- "electron": import("eslint").Linter.FlatConfig;
306
- "typescript": import("eslint").Linter.FlatConfig;
307
- };
308
- rules: {
309
- [key: string]: import("eslint").Rule.RuleModule;
310
- };
311
- };
312
- unicorn: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
313
- configs: {
314
- recommended: import("eslint").Linter.FlatConfig;
315
- all: import("eslint").Linter.FlatConfig;
316
- "flat/all": import("eslint").Linter.FlatConfig;
317
- "flat/recommended": import("eslint").Linter.FlatConfig;
318
- };
319
- };
320
- "@next/next": typeof nextPlugin;
321
- "jsx-a11y": import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
322
- configs: {
323
- recommended: import("eslint").Linter.LegacyConfig;
324
- strict: import("eslint").Linter.LegacyConfig;
325
- };
326
- flatConfigs: {
327
- recommended: import("eslint").Linter.Config;
328
- strict: import("eslint").Linter.Config;
329
- };
330
- };
331
- prettier: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin;
332
- "react-compiler": typeof reactCompilerPlugin;
333
- };
10
+ plugins: any;
334
11
  settings: {
335
12
  "import/resolver": {
336
13
  typescript: {
@@ -342,20 +19,16 @@ declare const config: ({
342
19
  };
343
20
  };
344
21
  rules: {
345
- "react/jsx-boolean-value": string;
346
- "react/jsx-curly-brace-presence": (string | {
347
- props: string;
348
- children: string;
349
- })[];
350
- "react/jsx-filename-extension": (string | {
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
+ "@eslint-react/naming-convention/filename-extension": (string | {
351
29
  extensions: string[];
352
30
  })[];
353
- "react/no-array-index-key": string;
354
- "react/no-unused-prop-types": string;
355
- "react/no-unused-state": string;
356
- "react/void-dom-elements-no-children": string;
357
31
  "react-hooks/exhaustive-deps": string;
358
- "react/no-object-type-as-default-prop": string;
359
32
  "react-compiler/react-compiler": string;
360
33
  "import/prefer-default-export": string;
361
34
  "import/no-extraneous-dependencies": (string | {
@@ -403,20 +76,6 @@ declare const config: ({
403
76
  })[];
404
77
  curly: string[];
405
78
  "prettier/prettier": string;
406
- '@next/next/no-async-client-component': string;
407
- '@next/next/no-before-interactive-script-outside-document': string;
408
- '@next/next/no-css-tags': string;
409
- '@next/next/no-head-element': string;
410
- '@next/next/no-page-custom-font': string;
411
- '@next/next/no-styled-jsx-in-document': string;
412
- '@next/next/no-title-in-document-head': string;
413
- '@next/next/inline-script-id': string;
414
- '@next/next/no-assign-module-variable': string;
415
- '@next/next/no-document-import-in-page': string;
416
- '@next/next/no-head-import-in-document': string;
417
- 'react-hooks/rules-of-hooks': "error";
418
- 'react/react-in-jsx-scope': 0;
419
- 'react/jsx-uses-react': 0;
420
79
  };
421
80
  ignores?: undefined;
422
81
  } | {
@@ -427,8 +86,4 @@ declare const config: ({
427
86
  settings?: undefined;
428
87
  rules?: undefined;
429
88
  })[];
430
- import reactPlugin from "eslint-plugin-react";
431
- import reactHooksPlugin from "eslint-plugin-react-hooks";
432
- import nextPlugin from "@next/eslint-plugin-next";
433
- import reactCompilerPlugin from "eslint-plugin-react-compiler";
434
89
  //# 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":";AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuIE;wBA9IsB,qBAAqB;6BAEhB,2BAA2B;uBAGjC,0BAA0B;gCAJjB,8BAA8B"}
1
+ {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":";AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsIE"}
@@ -1,7 +1,7 @@
1
1
  import importPlugin from "eslint-plugin-import";
2
2
  import jsxA11yPlugin from "eslint-plugin-jsx-a11y";
3
3
  import prettierPlugin from "eslint-plugin-prettier";
4
- import reactPlugin from "eslint-plugin-react";
4
+ import eslintReact from "@eslint-react/eslint-plugin";
5
5
  import reactCompilerPlugin from "eslint-plugin-react-compiler";
6
6
  import reactHooksPlugin from "eslint-plugin-react-hooks";
7
7
  import unicornPlugin from "eslint-plugin-unicorn";
@@ -16,7 +16,11 @@ const config = [
16
16
  },
17
17
  },
18
18
  plugins: {
19
- react: reactPlugin,
19
+ // Spread plugins from @eslint-react/eslint-plugin recommended config
20
+ // This includes: @eslint-react, @eslint-react/dom, @eslint-react/web-api,
21
+ // @eslint-react/hooks-extra, @eslint-react/naming-convention
22
+ // @ts-expect-error - plugins property exists at runtime but not in types
23
+ ...eslintReact.configs.recommended.plugins,
20
24
  "react-hooks": reactHooksPlugin,
21
25
  import: importPlugin,
22
26
  unicorn: unicornPlugin,
@@ -37,27 +41,22 @@ const config = [
37
41
  },
38
42
  rules: {
39
43
  // Include recommended rules
40
- // @ts-ignore
41
- ...reactPlugin.configs["jsx-runtime"].rules,
44
+ ...eslintReact.configs.recommended.rules,
42
45
  ...reactHooksPlugin.configs.recommended.rules,
43
46
  ...jsxA11yPlugin.configs.recommended.rules,
44
47
  ...nextPlugin.configs.recommended.rules,
45
- // React rules
46
- "react/jsx-boolean-value": "error",
47
- "react/jsx-curly-brace-presence": [
48
- "error",
49
- { props: "never", children: "never" },
50
- ],
51
- "react/jsx-filename-extension": [
48
+ // React rules (using @eslint-react/eslint-plugin)
49
+ "@eslint-react/no-array-index-key": "error",
50
+ "@eslint-react/jsx-shorthand-boolean": "error",
51
+ "@eslint-react/no-unnecessary-use-prefix": "warn",
52
+ "@eslint-react/no-unused-props": "error",
53
+ "@eslint-react/no-unused-state": "error",
54
+ "@eslint-react/dom/no-void-elements-with-children": "error",
55
+ "@eslint-react/naming-convention/filename-extension": [
52
56
  "error",
53
57
  { extensions: [".jsx", ".tsx"] },
54
58
  ],
55
- "react/no-array-index-key": "error",
56
- "react/no-unused-prop-types": "error",
57
- "react/no-unused-state": "error",
58
- "react/void-dom-elements-no-children": "error",
59
59
  "react-hooks/exhaustive-deps": "error",
60
- "react/no-object-type-as-default-prop": "error",
61
60
  "react-compiler/react-compiler": "error",
62
61
  "import/prefer-default-export": "off",
63
62
  "import/no-extraneous-dependencies": [
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../../src/legacy/eslint.config.js"],"names":[],"mappings":"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"}
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.2.3",
3
+ "version": "0.2.5",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -24,31 +24,33 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@ianvs/prettier-plugin-sort-imports": "^4.6.0",
28
- "@next/eslint-plugin-next": "^15.4.6",
29
- "@typescript-eslint/parser": "^8.39.0",
30
- "eslint": "^9.32.0",
27
+ "@eslint-react/eslint-plugin": "^2.5.1",
28
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.0",
29
+ "@next/eslint-plugin-next": "^16.1.1",
30
+ "@typescript-eslint/parser": "^8.52.0",
31
+ "eslint": "^9.39.2",
31
32
  "eslint-config-prettier": "^10.1.8",
32
- "eslint-import-resolver-typescript": "3.8.3",
33
+ "eslint-import-resolver-typescript": "^3.8.3",
33
34
  "eslint-plugin-import": "2.32.0",
34
35
  "eslint-plugin-jsx-a11y": "^6.10.2",
35
- "eslint-plugin-perfectionist": "^4.15.0",
36
+ "eslint-plugin-perfectionist": "^5.3.0",
36
37
  "eslint-plugin-prettier": "^5.5.4",
37
- "eslint-plugin-react": "^7.37.5",
38
38
  "eslint-plugin-react-compiler": "^19.1.0-rc.2",
39
- "eslint-plugin-react-hooks": "^5.2.0",
40
- "eslint-plugin-react-hooks-extra": "^1.52.3",
41
- "eslint-plugin-unicorn": "^60.0.0",
42
- "prettier": "^3.6.2",
43
- "prettier-plugin-tailwindcss": "^0.6.14",
44
- "stylelint": "^16.23.0",
45
- "stylelint-config-standard-scss": "^15.0.1",
39
+ "eslint-plugin-react-hooks": "^7.0.1",
40
+ "eslint-plugin-react-hooks-extra": "^2.5.1",
41
+ "eslint-plugin-storybook": "^10.1.11",
42
+ "eslint-plugin-unicorn": "^62.0.0",
43
+ "globals": "^17.0.0",
44
+ "prettier": "^3.7.4",
45
+ "prettier-plugin-tailwindcss": "^0.7.2",
46
+ "stylelint": "^16.26.1",
47
+ "stylelint-config-standard-scss": "^16.0.0",
46
48
  "stylelint-prettier": "^5.0.3",
47
- "typescript-eslint": "^8.39.0"
49
+ "typescript-eslint": "^8.52.0"
48
50
  },
49
51
  "devDependencies": {
50
- "@types/eslint-plugin-jsx-a11y": "^6.10.0",
51
- "@types/node": "^24.3.1",
52
- "typescript": "^5.9.2"
52
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
53
+ "@types/node": "^25.0.3",
54
+ "typescript": "^5.9.3"
53
55
  }
54
56
  }