@jimmy.codes/eslint-config 5.14.0 → 5.16.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,7 +64,7 @@ var ignoresConfig = (ignores) => {
64
64
 
65
65
  // src/configs/imports.ts
66
66
  import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
67
- import importX, { configs as configs2 } from "eslint-plugin-import-x";
67
+ import { configs as configs2, importX } from "eslint-plugin-import-x";
68
68
  import nodePlugin from "eslint-plugin-n";
69
69
 
70
70
  // src/rules/imports.ts
@@ -167,6 +167,8 @@ var additionalRules = {
167
167
  // Flags unintended use of `${}` inside strings without backticks
168
168
  "no-throw-literal": "error",
169
169
  // Prevents throwing non-error objects (e.g., `throw "error"` should be `throw new Error("error")`)
170
+ "no-unassigned-vars": "error",
171
+ // Disallow let or var variables that are read but never assigned
170
172
  "no-unmodified-loop-condition": "error",
171
173
  // Ensures loop conditions change, preventing infinite loops
172
174
  "no-unreachable-loop": "error",
@@ -305,6 +307,7 @@ var nodeRules = {
305
307
  "n/no-path-concat": "error",
306
308
  "n/no-process-exit": "off",
307
309
  // TODO [2025-12-31]: enable this rule
310
+ "n/no-top-level-await": ["error", { ignoreBin: true }],
308
311
  "n/prefer-global/console": ["error", "always"],
309
312
  "n/prefer-node-protocol": "error",
310
313
  "n/process-exit-as-throw": "error"
@@ -434,11 +437,10 @@ var regexpConfig = () => {
434
437
 
435
438
  // src/configs/stylistic.ts
436
439
  import stylisticPlugin from "@stylistic/eslint-plugin";
437
- import stylisticJsx from "@stylistic/eslint-plugin-jsx";
438
440
 
439
441
  // src/rules/stylistic.ts
440
442
  var stylisticRules = {
441
- "@stylistic/jsx/jsx-curly-brace-presence": ["error", "never"],
443
+ "@stylistic/jsx-curly-brace-presence": ["error", "never"],
442
444
  "@stylistic/object-curly-newline": [
443
445
  "error",
444
446
  {
@@ -491,8 +493,7 @@ function stylisticConfig() {
491
493
  {
492
494
  name: "jimmy.codes/stylistic",
493
495
  plugins: {
494
- "@stylistic": stylisticPlugin,
495
- "@stylistic/jsx": stylisticJsx
496
+ "@stylistic": stylisticPlugin
496
497
  },
497
498
  rules: stylisticRules
498
499
  }
@@ -505,7 +506,7 @@ import eslintPluginUnicorn2 from "eslint-plugin-unicorn";
505
506
  // src/rules/unicorn.ts
506
507
  import eslintPluginUnicorn from "eslint-plugin-unicorn";
507
508
  var unicornRules = {
508
- ...eslintPluginUnicorn.configs["flat/recommended"].rules,
509
+ ...eslintPluginUnicorn.configs.recommended.rules,
509
510
  "unicorn/filename-case": "off",
510
511
  "unicorn/import-style": "off",
511
512
  "unicorn/no-abusive-eslint-disable": "off",
@@ -524,7 +525,7 @@ var unicornRules = {
524
525
  var unicornConfig = () => {
525
526
  return [
526
527
  {
527
- ...eslintPluginUnicorn2.configs["flat/recommended"],
528
+ ...eslintPluginUnicorn2.configs.recommended,
528
529
  name: "jimmy.codes/unicorn",
529
530
  rules: unicornRules
530
531
  }
package/package.json CHANGED
@@ -1,11 +1,20 @@
1
1
  {
2
2
  "name": "@jimmy.codes/eslint-config",
3
- "version": "5.14.0",
4
- "description": "A pragmatic and opinionated ESLint config for modern development.",
3
+ "version": "5.16.0",
4
+ "description": "A simple, modern ESLint config that covers most use cases.",
5
5
  "keywords": [
6
6
  "eslint",
7
7
  "eslint-config",
8
- "eslintconfig"
8
+ "typescript",
9
+ "react",
10
+ "nextjs",
11
+ "astro",
12
+ "vitest",
13
+ "tanstack-query",
14
+ "react-compiler",
15
+ "modern",
16
+ "opinionated",
17
+ "testing"
9
18
  ],
10
19
  "repository": {
11
20
  "type": "git",
@@ -24,40 +33,37 @@
24
33
  ],
25
34
  "dependencies": {
26
35
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
27
- "@eslint-react/eslint-plugin": "^1.49.0",
28
- "@eslint-react/kit": "^1.49.0",
29
- "@eslint-react/shared": "^1.49.0",
30
- "@eslint/js": "^9.26.0",
31
- "@next/eslint-plugin-next": "^15.3.2",
32
- "@stylistic/eslint-plugin": "^4.2.0",
33
- "@stylistic/eslint-plugin-jsx": "4.2.0",
34
- "@tanstack/eslint-plugin-query": "^5.74.7",
36
+ "@eslint-react/eslint-plugin": "^1.51.0",
37
+ "@eslint/js": "^9.28.0",
38
+ "@next/eslint-plugin-next": "^15.3.3",
39
+ "@stylistic/eslint-plugin": "^4.4.1",
40
+ "@tanstack/eslint-plugin-query": "^5.78.0",
35
41
  "@types/eslint": "9.6.1",
36
- "@typescript-eslint/parser": "^8.32.0",
37
- "@typescript-eslint/utils": "^8.32.0",
38
- "@vitest/eslint-plugin": "^1.1.44",
42
+ "@typescript-eslint/parser": "^8.33.1",
43
+ "@typescript-eslint/utils": "^8.33.1",
44
+ "@vitest/eslint-plugin": "^1.2.1",
39
45
  "astro-eslint-parser": "^1.2.2",
40
- "eslint-config-prettier": "^10.1.3",
41
- "eslint-import-resolver-typescript": "^4.3.4",
46
+ "eslint-config-prettier": "^10.1.5",
47
+ "eslint-import-resolver-typescript": "^4.4.3",
42
48
  "eslint-plugin-astro": "^1.3.1",
43
- "eslint-plugin-import-x": "^4.11.0",
44
- "eslint-plugin-jest": "^28.11.0",
49
+ "eslint-plugin-import-x": "^4.15.1",
50
+ "eslint-plugin-jest": "^28.12.0",
45
51
  "eslint-plugin-jest-dom": "^5.5.0",
46
- "eslint-plugin-jsdoc": "^50.6.11",
52
+ "eslint-plugin-jsdoc": "^50.7.1",
47
53
  "eslint-plugin-jsx-a11y": "^6.10.2",
48
- "eslint-plugin-n": "^17.17.0",
49
- "eslint-plugin-perfectionist": "^4.12.3",
54
+ "eslint-plugin-n": "^17.19.0",
55
+ "eslint-plugin-perfectionist": "^4.14.0",
50
56
  "eslint-plugin-playwright": "^2.2.0",
51
- "eslint-plugin-react-compiler": "19.1.0-rc.1",
57
+ "eslint-plugin-react-compiler": "19.1.0-rc.2",
52
58
  "eslint-plugin-react-hooks": "^5.2.0",
53
59
  "eslint-plugin-react-refresh": "0.4.20",
54
- "eslint-plugin-regexp": "^2.7.0",
60
+ "eslint-plugin-regexp": "^2.8.0",
55
61
  "eslint-plugin-storybook": "0.12.0",
56
- "eslint-plugin-testing-library": "^7.1.1",
57
- "eslint-plugin-unicorn": "^58.0.0",
58
- "globals": "^16.1.0",
62
+ "eslint-plugin-testing-library": "^7.4.0",
63
+ "eslint-plugin-unicorn": "^59.0.1",
64
+ "globals": "^16.2.0",
59
65
  "local-pkg": "^1.1.1",
60
- "typescript-eslint": "^8.32.0"
66
+ "typescript-eslint": "^8.33.1"
61
67
  },
62
68
  "peerDependencies": {
63
69
  "eslint": "^9.10.0"