@jimmy.codes/eslint-config 5.8.0 → 5.10.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/index.js CHANGED
@@ -64,13 +64,13 @@ var ignoresConfig = (ignores) => {
64
64
 
65
65
  // src/configs/imports.ts
66
66
  import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
67
- import importX2 from "eslint-plugin-import-x";
67
+ import importX, { configs as configs2 } from "eslint-plugin-import-x";
68
68
  import nodePlugin from "eslint-plugin-n";
69
69
 
70
70
  // src/rules/imports.ts
71
- import importX from "eslint-plugin-import-x";
71
+ import { configs } from "eslint-plugin-import-x";
72
72
  var importsRules = {
73
- ...importX.configs.recommended.rules,
73
+ ...configs.recommended.rules,
74
74
  "import-x/consistent-type-specifier-style": ["error", "prefer-top-level"],
75
75
  "import-x/extensions": [
76
76
  "error",
@@ -93,7 +93,7 @@ var importsRules = {
93
93
 
94
94
  // src/configs/imports.ts
95
95
  var importsTypescriptConfig = () => {
96
- const { rules, settings } = importX2.configs.typescript;
96
+ const { rules, settings } = configs2.typescript;
97
97
  return [
98
98
  {
99
99
  name: "jimmy.codes/imports/typescript",
@@ -114,7 +114,7 @@ var importsConfig = ({
114
114
  {
115
115
  name: "jimmy.codes/imports",
116
116
  plugins: {
117
- "import-x": importX2,
117
+ "import-x": importX,
118
118
  "n": nodePlugin
119
119
  },
120
120
  rules: importsRules
@@ -512,10 +512,7 @@ var unicornRules = {
512
512
  "unicorn/no-array-reduce": "off",
513
513
  "unicorn/no-null": "off",
514
514
  "unicorn/no-process-exit": "off",
515
- "unicorn/no-useless-undefined": [
516
- "error",
517
- { checkArguments: false, checkArrowFunctionBody: false }
518
- ],
515
+ "unicorn/no-useless-undefined": "off",
519
516
  "unicorn/prefer-node-protocol": "off",
520
517
  "unicorn/prevent-abbreviations": "off"
521
518
  };
@@ -585,11 +582,11 @@ var defineConfig = async ({
585
582
  isReactEnabled && unwrap(import("./react-6ERTZG2I.js")),
586
583
  isTanstackQueryEnabled && unwrap(import("./tanstack-query-P4IBOLDK.js")),
587
584
  isAstroEnabled && unwrap(import("./astro-Z5RFF624.js")),
588
- isJestEnabled && unwrap(import("./jest-AHG2WRSU.js")),
589
- isVitestEnabled && unwrap(import("./vitest-YI6KNRZE.js")),
585
+ isJestEnabled && unwrap(import("./jest-7NR7TDOP.js")),
586
+ isVitestEnabled && unwrap(import("./vitest-LSKPTQM4.js")),
590
587
  isTestingLibraryEnabled && unwrap(import("./testing-library-7RTMAEOX.js")),
591
- isPlaywrightEnabled && unwrap(import("./playwright-U4PCWDYV.js")),
592
- isStorybookEnabled && unwrap(import("./storybook-IPSVKYYB.js")),
588
+ isPlaywrightEnabled && unwrap(import("./playwright-N6LFQ4OJ.js")),
589
+ isStorybookEnabled && unwrap(import("./storybook-XHFO7L4T.js")),
593
590
  isNextjsEnabled && unwrap(import("./nextjs-7V464KOE.js"))
594
591
  ]);
595
592
  return [
@@ -49,8 +49,16 @@ var jestRules = async () => {
49
49
  "jest/require-hook": "error",
50
50
  "jest/require-to-throw-message": "error",
51
51
  "jest/require-top-level-describe": "off",
52
- "jest/unbound-method": "off"
52
+ "jest/unbound-method": "off",
53
53
  // requires typescript
54
+ "jest/valid-title": [
55
+ "error",
56
+ {
57
+ mustMatch: {
58
+ it: "^should"
59
+ }
60
+ }
61
+ ]
54
62
  };
55
63
  };
56
64
 
@@ -26,7 +26,15 @@ var playwrightRules = async () => {
26
26
  "playwright/no-useless-await": "error",
27
27
  "playwright/no-useless-not": "error",
28
28
  "playwright/no-wait-for-selector": "error",
29
- "playwright/no-wait-for-timeout": "error"
29
+ "playwright/no-wait-for-timeout": "error",
30
+ "playwright/valid-title": [
31
+ "error",
32
+ {
33
+ mustMatch: {
34
+ it: "^should"
35
+ }
36
+ }
37
+ ]
30
38
  };
31
39
  };
32
40
 
@@ -20,6 +20,7 @@ async function storybookConfig() {
20
20
  rules: {
21
21
  ...upwarn(storiesConfig?.rules),
22
22
  "import-x/no-anonymous-default-export": "off",
23
+ "storybook/meta-satisfies-type": "error",
23
24
  "unicorn/no-anonymous-default-export": "off"
24
25
  }
25
26
  },
@@ -63,7 +63,14 @@ var vitestRules = async () => {
63
63
  // "vitest/unbound-method": "off", // requires typescript, missing https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/unbound-method.md
64
64
  "vitest/valid-expect": "error",
65
65
  "vitest/valid-expect-in-promise": "error",
66
- "vitest/valid-title": "error"
66
+ "vitest/valid-title": [
67
+ "error",
68
+ {
69
+ mustMatch: {
70
+ it: "^should"
71
+ }
72
+ }
73
+ ]
67
74
  };
68
75
  };
69
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jimmy.codes/eslint-config",
3
- "version": "5.8.0",
3
+ "version": "5.10.0",
4
4
  "description": "A pragmatic and opinionated ESLint config for modern development.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -27,36 +27,36 @@
27
27
  "@eslint-react/eslint-plugin": "^1.40.3",
28
28
  "@eslint-react/kit": "^1.40.3",
29
29
  "@eslint-react/shared": "^1.40.3",
30
- "@eslint/js": "^9.22.0",
31
- "@next/eslint-plugin-next": "^15.2.3",
30
+ "@eslint/js": "^9.24.0",
31
+ "@next/eslint-plugin-next": "^15.2.4",
32
32
  "@stylistic/eslint-plugin": "^4.2.0",
33
- "@tanstack/eslint-plugin-query": "^5.68.0",
33
+ "@tanstack/eslint-plugin-query": "^5.71.5",
34
34
  "@types/eslint": "9.6.1",
35
- "@typescript-eslint/parser": "^8.27.0",
36
- "@typescript-eslint/utils": "^8.27.0",
37
- "@vitest/eslint-plugin": "^1.1.38",
38
- "astro-eslint-parser": "^1.2.1",
35
+ "@typescript-eslint/parser": "^8.29.0",
36
+ "@typescript-eslint/utils": "^8.29.0",
37
+ "@vitest/eslint-plugin": "^1.1.39",
38
+ "astro-eslint-parser": "^1.2.2",
39
39
  "eslint-config-prettier": "^10.1.1",
40
- "eslint-import-resolver-typescript": "^4.2.2",
40
+ "eslint-import-resolver-typescript": "^4.3.1",
41
41
  "eslint-plugin-astro": "^1.3.1",
42
- "eslint-plugin-import-x": "^4.9.1",
42
+ "eslint-plugin-import-x": "^4.10.0",
43
43
  "eslint-plugin-jest": "^28.11.0",
44
44
  "eslint-plugin-jest-dom": "^5.5.0",
45
- "eslint-plugin-jsdoc": "^50.6.8",
45
+ "eslint-plugin-jsdoc": "^50.6.9",
46
46
  "eslint-plugin-jsx-a11y": "^6.10.2",
47
- "eslint-plugin-n": "^17.16.2",
48
- "eslint-plugin-perfectionist": "^4.10.1",
47
+ "eslint-plugin-n": "^17.17.0",
48
+ "eslint-plugin-perfectionist": "^4.11.0",
49
49
  "eslint-plugin-playwright": "^2.2.0",
50
50
  "eslint-plugin-react-compiler": "19.0.0-beta-e993439-20250328",
51
51
  "eslint-plugin-react-hooks": "^5.2.0",
52
52
  "eslint-plugin-react-refresh": "0.4.19",
53
53
  "eslint-plugin-regexp": "^2.7.0",
54
- "eslint-plugin-storybook": "0.11.6",
54
+ "eslint-plugin-storybook": "0.12.0",
55
55
  "eslint-plugin-testing-library": "^7.1.1",
56
- "eslint-plugin-unicorn": "^57.0.0",
56
+ "eslint-plugin-unicorn": "^58.0.0",
57
57
  "globals": "^16.0.0",
58
58
  "local-pkg": "^1.1.1",
59
- "typescript-eslint": "^8.27.0"
59
+ "typescript-eslint": "^8.29.0"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "eslint": "^9.10.0"