@greenberry/linting-config 0.2.3 → 0.2.4

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.
@@ -7,11 +7,23 @@ import reactPlugin from "eslint-plugin-react";
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
+ };
15
27
  export default defineConfig(eslint.configs.recommended, tseslint.configs.strict, tseslint.configs.stylistic, {
16
28
  files: ["**/*.{js,mjs,cjs,jsx,ts,tsx}"],
17
29
  languageOptions: {
@@ -32,8 +44,8 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
32
44
  },
33
45
  plugins: {
34
46
  react: reactPlugin,
35
- "react-hooks": reactHooksPlugin,
36
- "react-hooks-extra": reactHooksExtraPlugin,
47
+ "react-hooks": reactHooksPluginTyped,
48
+ "react-hooks-extra": reactHooksExtraPluginTyped,
37
49
  import: importPlugin,
38
50
  unicorn: unicornPlugin,
39
51
  perfectionist: perfectionistPlugin,
@@ -113,6 +125,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
113
125
  ts: "always",
114
126
  tsx: "always",
115
127
  scss: "always",
128
+ stories: "always",
116
129
  },
117
130
  ],
118
131
  "import/prefer-default-export": "off",
@@ -195,6 +208,34 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
195
208
  // Prettier integration
196
209
  "prettier/prettier": "error",
197
210
  },
211
+ },
212
+ // Storybook stories configuration
213
+ ...storybookPlugin.configs["flat/recommended"], {
214
+ files: [
215
+ "**/*.stories.@(js|jsx|ts|tsx|mjs|cjs|mdx)",
216
+ "**/*.story.@(js|jsx|ts|tsx|mjs|cjs|mdx)",
217
+ ],
218
+ rules: {
219
+ "storybook/hierarchy-separator": "warn",
220
+ "storybook/no-redundant-story-name": "warn",
221
+ "storybook/no-stories-of": "error", // Enforce CSF format (not storiesOf API)
222
+ "storybook/no-title-property-in-meta": "error", // Use title in default export
223
+ "storybook/prefer-pascal-case": "warn",
224
+ // Relax some rules for Storybook story files
225
+ "react-hooks/rules-of-hooks": "off", // Stories can use hooks outside components
226
+ "import/no-anonymous-default-export": "off", // Stories use default exports
227
+ "react-hooks/exhaustive-deps": "warn", // Stories often have intentional dependencies
228
+ },
229
+ },
230
+ // Storybook main config file
231
+ {
232
+ files: [".storybook/main.@(js|cjs|mjs|ts)"],
233
+ plugins: {
234
+ storybook: storybookPlugin,
235
+ },
236
+ rules: {
237
+ "storybook/no-uninstalled-addons": "error",
238
+ },
198
239
  }, {
199
240
  ignores: [
200
241
  ".next/*",
@@ -202,6 +243,7 @@ export default defineConfig(eslint.configs.recommended, tseslint.configs.strict,
202
243
  "src/env.ts",
203
244
  "**/*.gql",
204
245
  "next-env.d.ts",
246
+ "!.storybook", // Allow linting of .storybook config files
205
247
  ],
206
248
  });
207
249
  //# sourceMappingURL=eslint.config.js.map
@@ -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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"}
@@ -279,7 +279,103 @@ declare const config: ({
279
279
  flat: Record<string, reactPlugin.ReactFlatConfig>;
280
280
  };
281
281
  };
282
- "react-hooks": typeof reactHooksPlugin;
282
+ "react-hooks": {
283
+ meta: {
284
+ name: string;
285
+ version: string;
286
+ };
287
+ rules: {
288
+ "exhaustive-deps": {
289
+ meta: {
290
+ type: "suggestion";
291
+ docs: {
292
+ description: string;
293
+ recommended: true;
294
+ url: string;
295
+ };
296
+ fixable: "code";
297
+ hasSuggestions: true;
298
+ schema: {
299
+ type: "object";
300
+ additionalProperties: false;
301
+ enableDangerousAutofixThisMayCauseInfiniteLoops: boolean;
302
+ properties: {
303
+ additionalHooks: {
304
+ type: "string";
305
+ };
306
+ enableDangerousAutofixThisMayCauseInfiniteLoops: {
307
+ type: "boolean";
308
+ };
309
+ experimental_autoDependenciesHooks: {
310
+ type: "array";
311
+ items: {
312
+ type: "string";
313
+ };
314
+ };
315
+ requireExplicitEffectDeps: {
316
+ type: "boolean";
317
+ };
318
+ };
319
+ }[];
320
+ };
321
+ create(context: import("eslint").Rule.RuleContext): {
322
+ CallExpression: (node: import("estree").CallExpression) => void;
323
+ };
324
+ };
325
+ "rules-of-hooks": {
326
+ meta: {
327
+ type: "problem";
328
+ docs: {
329
+ description: string;
330
+ recommended: true;
331
+ url: string;
332
+ };
333
+ schema: {
334
+ type: "object";
335
+ additionalProperties: false;
336
+ properties: {
337
+ additionalHooks: {
338
+ type: "string";
339
+ };
340
+ };
341
+ }[];
342
+ };
343
+ create(context: import("eslint").Rule.RuleContext): {
344
+ "*"(node: any): void;
345
+ "*:exit"(node: any): void;
346
+ CallExpression(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
347
+ Identifier(node: import("estree").Identifier & import("eslint").Rule.NodeParentExtension): void;
348
+ "CallExpression:exit"(node: import("estree").CallExpression & import("eslint").Rule.NodeParentExtension): void;
349
+ FunctionDeclaration(node: import("estree").FunctionDeclaration & import("eslint").Rule.NodeParentExtension): void;
350
+ ArrowFunctionExpression(node: import("estree").ArrowFunctionExpression & import("eslint").Rule.NodeParentExtension): void;
351
+ };
352
+ };
353
+ };
354
+ configs: {
355
+ recommended: {
356
+ plugins: string[];
357
+ rules: import("eslint").Linter.RulesRecord;
358
+ };
359
+ "recommended-latest": {
360
+ plugins: string[];
361
+ rules: import("eslint").Linter.RulesRecord;
362
+ };
363
+ flat: {
364
+ recommended: {
365
+ plugins: {
366
+ react: any;
367
+ };
368
+ rules: import("eslint").Linter.RulesRecord;
369
+ };
370
+ "recommended-latest": {
371
+ plugins: {
372
+ react: any;
373
+ };
374
+ rules: import("eslint").Linter.RulesRecord;
375
+ };
376
+ };
377
+ };
378
+ };
283
379
  import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
284
380
  meta: {
285
381
  name: string;
@@ -312,6 +408,7 @@ declare const config: ({
312
408
  unicorn: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
313
409
  configs: {
314
410
  recommended: import("eslint").Linter.FlatConfig;
411
+ unopinionated: import("eslint").Linter.FlatConfig;
315
412
  all: import("eslint").Linter.FlatConfig;
316
413
  "flat/all": import("eslint").Linter.FlatConfig;
317
414
  "flat/recommended": import("eslint").Linter.FlatConfig;
@@ -403,18 +500,6 @@ declare const config: ({
403
500
  })[];
404
501
  curly: string[];
405
502
  "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
503
  'react/react-in-jsx-scope': 0;
419
504
  'react/jsx-uses-react': 0;
420
505
  };
@@ -428,7 +513,6 @@ declare const config: ({
428
513
  rules?: undefined;
429
514
  })[];
430
515
  import reactPlugin from "eslint-plugin-react";
431
- import reactHooksPlugin from "eslint-plugin-react-hooks";
432
516
  import nextPlugin from "@next/eslint-plugin-next";
433
517
  import reactCompilerPlugin from "eslint-plugin-react-compiler";
434
518
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuIE;wBA9IsB,qBAAqB;uBAKtB,0BAA0B;gCAJjB,8BAA8B"}
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.4",
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
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.0",
28
+ "@next/eslint-plugin-next": "^16.1.1",
29
+ "@typescript-eslint/parser": "^8.52.0",
30
+ "eslint": "^9.39.2",
31
31
  "eslint-config-prettier": "^10.1.8",
32
32
  "eslint-import-resolver-typescript": "3.8.3",
33
33
  "eslint-plugin-import": "2.32.0",
34
34
  "eslint-plugin-jsx-a11y": "^6.10.2",
35
- "eslint-plugin-perfectionist": "^4.15.0",
35
+ "eslint-plugin-perfectionist": "^5.3.0",
36
36
  "eslint-plugin-prettier": "^5.5.4",
37
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
  }