@debbl/eslint-config 3.6.0 → 3.7.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.
Files changed (3) hide show
  1. package/dist/index.cjs +12 -16
  2. package/dist/index.js +12 -16
  3. package/package.json +21 -22
package/dist/index.cjs CHANGED
@@ -251,7 +251,8 @@ async function imports() {
251
251
  "import/newline-after-import": [
252
252
  "error",
253
253
  { considerComments: true, count: 1 }
254
- ]
254
+ ],
255
+ "import/consistent-type-specifier-style": ["error", "prefer-top-level"]
255
256
  }
256
257
  }
257
258
  ];
@@ -466,16 +467,6 @@ var javascript = async (options) => {
466
467
  "prefer-rest-params": "error",
467
468
  "prefer-spread": "error",
468
469
  "prefer-template": "error",
469
- "sort-imports": [
470
- "error",
471
- {
472
- allowSeparatedGroups: false,
473
- ignoreCase: false,
474
- ignoreDeclarationSort: true,
475
- ignoreMemberSort: false,
476
- memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
477
- }
478
- ],
479
470
  "symbol-description": "error",
480
471
  "unicode-bom": ["error", "never"],
481
472
  "unused-imports/no-unused-imports": "warn",
@@ -612,15 +603,16 @@ var jsonc = async (options) => {
612
603
  // src/configs/markdown.ts
613
604
  var markdown = async (options) => {
614
605
  const { componentExts = [], overrides = {} } = options;
615
- const [pluginMdx, parserMdx] = await Promise.all([
606
+ const [pluginMdx, pluginMarkdown] = await Promise.all([
616
607
  interopDefault(import("eslint-plugin-mdx")),
617
- interopDefault(import("eslint-mdx"))
608
+ interopDefault(import("@eslint/markdown"))
618
609
  ]);
619
610
  return [
620
611
  {
621
612
  name: "eslint/markdown/setup",
622
613
  plugins: {
623
- mdx: pluginMdx
614
+ mdx: pluginMdx,
615
+ markdown: pluginMarkdown
624
616
  }
625
617
  },
626
618
  {
@@ -628,7 +620,7 @@ var markdown = async (options) => {
628
620
  files: [GLOB_MARKDOWN, GLOB_MDX],
629
621
  languageOptions: {
630
622
  ecmaVersion: "latest",
631
- parser: parserMdx,
623
+ parser: parserPlain,
632
624
  sourceType: "module"
633
625
  },
634
626
  processor: "mdx/remark",
@@ -1246,6 +1238,7 @@ var typescript = async (options) => {
1246
1238
  "error",
1247
1239
  {
1248
1240
  disallowTypeAnnotations: false,
1241
+ fixStyle: "separate-type-imports",
1249
1242
  prefer: "type-imports"
1250
1243
  }
1251
1244
  ],
@@ -1319,7 +1312,10 @@ async function unicorn() {
1319
1312
  // Pass error message when throwing errors
1320
1313
  "unicorn/error-message": "error",
1321
1314
  // Uppercase regex escapes
1322
- "unicorn/escape-case": "error",
1315
+ "unicorn/consistent-function-scoping": [
1316
+ "error",
1317
+ { checkArrowFunctions: false }
1318
+ ],
1323
1319
  // Array.isArray instead of instanceof
1324
1320
  "unicorn/no-instanceof-array": "error",
1325
1321
  // Ban `new Array` as `Array` constructor's params are ambiguous
package/dist/index.js CHANGED
@@ -168,7 +168,8 @@ async function imports() {
168
168
  "import/newline-after-import": [
169
169
  "error",
170
170
  { considerComments: true, count: 1 }
171
- ]
171
+ ],
172
+ "import/consistent-type-specifier-style": ["error", "prefer-top-level"]
172
173
  }
173
174
  }
174
175
  ];
@@ -383,16 +384,6 @@ var javascript = async (options) => {
383
384
  "prefer-rest-params": "error",
384
385
  "prefer-spread": "error",
385
386
  "prefer-template": "error",
386
- "sort-imports": [
387
- "error",
388
- {
389
- allowSeparatedGroups: false,
390
- ignoreCase: false,
391
- ignoreDeclarationSort: true,
392
- ignoreMemberSort: false,
393
- memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
394
- }
395
- ],
396
387
  "symbol-description": "error",
397
388
  "unicode-bom": ["error", "never"],
398
389
  "unused-imports/no-unused-imports": "warn",
@@ -529,15 +520,16 @@ var jsonc = async (options) => {
529
520
  // src/configs/markdown.ts
530
521
  var markdown = async (options) => {
531
522
  const { componentExts = [], overrides = {} } = options;
532
- const [pluginMdx, parserMdx] = await Promise.all([
523
+ const [pluginMdx, pluginMarkdown] = await Promise.all([
533
524
  interopDefault(import("eslint-plugin-mdx")),
534
- interopDefault(import("eslint-mdx"))
525
+ interopDefault(import("@eslint/markdown"))
535
526
  ]);
536
527
  return [
537
528
  {
538
529
  name: "eslint/markdown/setup",
539
530
  plugins: {
540
- mdx: pluginMdx
531
+ mdx: pluginMdx,
532
+ markdown: pluginMarkdown
541
533
  }
542
534
  },
543
535
  {
@@ -545,7 +537,7 @@ var markdown = async (options) => {
545
537
  files: [GLOB_MARKDOWN, GLOB_MDX],
546
538
  languageOptions: {
547
539
  ecmaVersion: "latest",
548
- parser: parserMdx,
540
+ parser: parserPlain,
549
541
  sourceType: "module"
550
542
  },
551
543
  processor: "mdx/remark",
@@ -1163,6 +1155,7 @@ var typescript = async (options) => {
1163
1155
  "error",
1164
1156
  {
1165
1157
  disallowTypeAnnotations: false,
1158
+ fixStyle: "separate-type-imports",
1166
1159
  prefer: "type-imports"
1167
1160
  }
1168
1161
  ],
@@ -1236,7 +1229,10 @@ async function unicorn() {
1236
1229
  // Pass error message when throwing errors
1237
1230
  "unicorn/error-message": "error",
1238
1231
  // Uppercase regex escapes
1239
- "unicorn/escape-case": "error",
1232
+ "unicorn/consistent-function-scoping": [
1233
+ "error",
1234
+ { checkArrowFunctions: false }
1235
+ ],
1240
1236
  // Array.isArray instead of instanceof
1241
1237
  "unicorn/no-instanceof-array": "error",
1242
1238
  // Ban `new Array` as `Array` constructor's params are ambiguous
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@debbl/eslint-config",
3
3
  "type": "module",
4
- "version": "3.6.0",
4
+ "version": "3.7.0",
5
5
  "description": "Brendan Dash's ESLint config",
6
6
  "author": "Debbl <me@aiwan.run> (https://github.com/Debbl/)",
7
7
  "license": "MIT",
@@ -26,37 +26,36 @@
26
26
  "eslint": ">=8.40.0"
27
27
  },
28
28
  "dependencies": {
29
+ "@eslint/markdown": "^6.1.0",
29
30
  "@next/eslint-plugin-next": "15.0.0-rc.0",
30
- "@typescript-eslint/eslint-plugin": "^8.4.0",
31
- "@typescript-eslint/parser": "^8.4.0",
31
+ "@typescript-eslint/eslint-plugin": "^8.7.0",
32
+ "@typescript-eslint/parser": "^8.7.0",
32
33
  "eslint-config-prettier": "^9.1.0",
33
- "eslint-mdx": "^3.1.5",
34
34
  "eslint-plugin-eslint-comments": "^3.2.0",
35
- "eslint-plugin-import-x": "^4.2.1",
36
- "eslint-plugin-jsdoc": "^50.2.2",
35
+ "eslint-plugin-import-x": "^4.3.0",
36
+ "eslint-plugin-jsdoc": "^50.2.4",
37
37
  "eslint-plugin-jsonc": "^2.16.0",
38
- "eslint-plugin-markdown": "^5.1.0",
39
38
  "eslint-plugin-mdx": "^3.1.5",
40
- "eslint-plugin-n": "^17.10.2",
39
+ "eslint-plugin-n": "^17.10.3",
41
40
  "eslint-plugin-no-only-tests": "^3.3.0",
42
- "eslint-plugin-perfectionist": "^3.5.0",
41
+ "eslint-plugin-perfectionist": "^3.7.0",
43
42
  "eslint-plugin-prettier": "^5.2.1",
44
- "eslint-plugin-react": "^7.35.2",
45
- "eslint-plugin-react-compiler": "0.0.0-experimental-b8a7b48-20240830",
46
- "eslint-plugin-react-hooks": "0.0.0-experimental-e56f4ae3-20240830",
47
- "eslint-plugin-react-refresh": "^0.4.11",
43
+ "eslint-plugin-react": "^7.36.1",
44
+ "eslint-plugin-react-compiler": "0.0.0-experimental-92aaa43-20240924",
45
+ "eslint-plugin-react-hooks": "0.0.0-experimental-04bd67a4-20240924",
46
+ "eslint-plugin-react-refresh": "^0.4.12",
48
47
  "eslint-plugin-solid": "^0.14.3",
49
48
  "eslint-plugin-tailwindcss": "^3.17.4",
50
49
  "eslint-plugin-toml": "^0.11.1",
51
50
  "eslint-plugin-unicorn": "^55.0.0",
52
- "eslint-plugin-unused-imports": "^4.1.3",
51
+ "eslint-plugin-unused-imports": "^4.1.4",
53
52
  "eslint-plugin-vitest": "^0.5.4",
54
53
  "eslint-plugin-vue": "^9.28.0",
55
54
  "eslint-plugin-yml": "^1.14.0",
56
55
  "globals": "^15.9.0",
57
56
  "jsonc-eslint-parser": "^2.4.0",
58
57
  "prettier": "^3.3.3",
59
- "prettier-plugin-tailwindcss": "^0.6.6",
58
+ "prettier-plugin-tailwindcss": "^0.6.8",
60
59
  "toml-eslint-parser": "^0.10.0",
61
60
  "vue-eslint-parser": "^9.4.3",
62
61
  "yaml-eslint-parser": "^1.2.3"
@@ -64,18 +63,18 @@
64
63
  "devDependencies": {
65
64
  "@eslint/config-inspector": "^0.5.4",
66
65
  "@types/eslint": "^9.6.1",
67
- "@types/node": "^22.5.4",
68
- "@types/react": "^18.3.5",
66
+ "@types/node": "^22.7.0",
67
+ "@types/react": "^18.3.9",
69
68
  "bumpp": "^9.5.2",
70
- "eslint": "^9.10.0",
71
- "execa": "^9.3.1",
69
+ "eslint": "^9.11.1",
70
+ "execa": "^9.4.0",
72
71
  "fast-glob": "^3.3.2",
73
72
  "fs-extra": "^11.2.0",
74
73
  "react": "^18.3.1",
75
74
  "sucrase": "^3.35.0",
76
- "tsup": "^8.2.4",
77
- "typescript": "^5.5.4",
78
- "vitest": "^2.0.5"
75
+ "tsup": "^8.3.0",
76
+ "typescript": "^5.6.2",
77
+ "vitest": "^2.1.1"
79
78
  },
80
79
  "scripts": {
81
80
  "build": "tsup --format esm,cjs --clean --dts",