@coderwyd/eslint-config 2.6.1 → 2.6.3

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/cli.cjs CHANGED
@@ -30,36 +30,27 @@ module.exports = __toCommonJS(cli_exports);
30
30
  // src/cli/index.ts
31
31
  var import_node_process2 = __toESM(require("process"), 1);
32
32
  var import_picocolors3 = __toESM(require("picocolors"), 1);
33
- var import_helpers = require("yargs/helpers");
34
33
  var import_yargs = __toESM(require("yargs"), 1);
35
-
36
- // src/cli/run.ts
37
- var import_node_fs = __toESM(require("fs"), 1);
38
- var import_promises = __toESM(require("fs/promises"), 1);
39
- var import_node_path = __toESM(require("path"), 1);
40
- var import_node_process = __toESM(require("process"), 1);
41
- var import_prompts = __toESM(require("prompts"), 1);
42
- var import_picocolors2 = __toESM(require("picocolors"), 1);
43
- var import_parse_gitignore = __toESM(require("parse-gitignore"), 1);
34
+ var import_helpers = require("yargs/helpers");
44
35
 
45
36
  // src/cli/constants.ts
46
37
  var import_picocolors = __toESM(require("picocolors"), 1);
47
38
 
48
39
  // package.json
49
- var version = "2.6.1";
40
+ var version = "2.6.3";
50
41
  var devDependencies = {
51
- "@antfu/ni": "^0.22.0",
52
- "@eslint-react/eslint-plugin": "^1.5.30",
42
+ "@antfu/ni": "^0.22.1",
43
+ "@eslint-react/eslint-plugin": "^1.9.1",
53
44
  "@eslint/config-inspector": "^0.5.2",
54
- "@stylistic/eslint-plugin-migrate": "^2.3.0",
55
- "@types/eslint": "^8.56.11",
45
+ "@stylistic/eslint-plugin-migrate": "^2.6.2",
46
+ "@types/eslint": "^9.6.0",
56
47
  "@types/fs-extra": "^11.0.4",
57
- "@types/node": "^20.14.11",
48
+ "@types/node": "^20.14.15",
58
49
  "@types/prompts": "^2.4.9",
59
- "@types/yargs": "^17.0.32",
60
- "@unocss/eslint-plugin": "^0.61.5",
61
- bumpp: "^9.4.1",
62
- eslint: "^9.7.0",
50
+ "@types/yargs": "^17.0.33",
51
+ "@unocss/eslint-plugin": "^0.61.9",
52
+ bumpp: "^9.4.2",
53
+ eslint: "^9.9.0",
63
54
  "eslint-plugin-react-hooks": "^4.6.2",
64
55
  "eslint-plugin-react-refresh": "^0.4.9",
65
56
  "eslint-plugin-svelte": "2.43.0",
@@ -67,13 +58,13 @@ var devDependencies = {
67
58
  execa: "^9.3.0",
68
59
  "fast-glob": "^3.3.2",
69
60
  "fs-extra": "^11.2.0",
70
- "lint-staged": "^15.2.7",
61
+ "lint-staged": "^15.2.8",
71
62
  rimraf: "^6.0.1",
72
63
  "simple-git-hooks": "^2.11.1",
73
64
  svelte: "^4.2.18",
74
65
  "svelte-eslint-parser": "^0.41.0",
75
- tsup: "^8.2.2",
76
- tsx: "^4.16.2",
66
+ tsup: "^8.2.4",
67
+ tsx: "^4.17.0",
77
68
  typescript: "^5.5.4"
78
69
  };
79
70
 
@@ -126,6 +117,15 @@ var vscodeSettingsString = `
126
117
  ]
127
118
  `;
128
119
 
120
+ // src/cli/run.ts
121
+ var import_node_fs = __toESM(require("fs"), 1);
122
+ var import_promises = __toESM(require("fs/promises"), 1);
123
+ var import_node_path = __toESM(require("path"), 1);
124
+ var import_node_process = __toESM(require("process"), 1);
125
+ var import_parse_gitignore = __toESM(require("parse-gitignore"), 1);
126
+ var import_picocolors2 = __toESM(require("picocolors"), 1);
127
+ var import_prompts = __toESM(require("prompts"), 1);
128
+
129
129
  // src/cli/utils.ts
130
130
  var import_node_child_process = require("child_process");
131
131
  function isGitClean() {
package/dist/cli.js CHANGED
@@ -1,36 +1,27 @@
1
1
  // src/cli/index.ts
2
2
  import process2 from "node:process";
3
3
  import c3 from "picocolors";
4
- import { hideBin } from "yargs/helpers";
5
4
  import yargs from "yargs";
6
-
7
- // src/cli/run.ts
8
- import fs from "node:fs";
9
- import fsp from "node:fs/promises";
10
- import path from "node:path";
11
- import process from "node:process";
12
- import prompts from "prompts";
13
- import c2 from "picocolors";
14
- import parse from "parse-gitignore";
5
+ import { hideBin } from "yargs/helpers";
15
6
 
16
7
  // src/cli/constants.ts
17
8
  import c from "picocolors";
18
9
 
19
10
  // package.json
20
- var version = "2.6.1";
11
+ var version = "2.6.3";
21
12
  var devDependencies = {
22
- "@antfu/ni": "^0.22.0",
23
- "@eslint-react/eslint-plugin": "^1.5.30",
13
+ "@antfu/ni": "^0.22.1",
14
+ "@eslint-react/eslint-plugin": "^1.9.1",
24
15
  "@eslint/config-inspector": "^0.5.2",
25
- "@stylistic/eslint-plugin-migrate": "^2.3.0",
26
- "@types/eslint": "^8.56.11",
16
+ "@stylistic/eslint-plugin-migrate": "^2.6.2",
17
+ "@types/eslint": "^9.6.0",
27
18
  "@types/fs-extra": "^11.0.4",
28
- "@types/node": "^20.14.11",
19
+ "@types/node": "^20.14.15",
29
20
  "@types/prompts": "^2.4.9",
30
- "@types/yargs": "^17.0.32",
31
- "@unocss/eslint-plugin": "^0.61.5",
32
- bumpp: "^9.4.1",
33
- eslint: "^9.7.0",
21
+ "@types/yargs": "^17.0.33",
22
+ "@unocss/eslint-plugin": "^0.61.9",
23
+ bumpp: "^9.4.2",
24
+ eslint: "^9.9.0",
34
25
  "eslint-plugin-react-hooks": "^4.6.2",
35
26
  "eslint-plugin-react-refresh": "^0.4.9",
36
27
  "eslint-plugin-svelte": "2.43.0",
@@ -38,13 +29,13 @@ var devDependencies = {
38
29
  execa: "^9.3.0",
39
30
  "fast-glob": "^3.3.2",
40
31
  "fs-extra": "^11.2.0",
41
- "lint-staged": "^15.2.7",
32
+ "lint-staged": "^15.2.8",
42
33
  rimraf: "^6.0.1",
43
34
  "simple-git-hooks": "^2.11.1",
44
35
  svelte: "^4.2.18",
45
36
  "svelte-eslint-parser": "^0.41.0",
46
- tsup: "^8.2.2",
47
- tsx: "^4.16.2",
37
+ tsup: "^8.2.4",
38
+ tsx: "^4.17.0",
48
39
  typescript: "^5.5.4"
49
40
  };
50
41
 
@@ -97,6 +88,15 @@ var vscodeSettingsString = `
97
88
  ]
98
89
  `;
99
90
 
91
+ // src/cli/run.ts
92
+ import fs from "node:fs";
93
+ import fsp from "node:fs/promises";
94
+ import path from "node:path";
95
+ import process from "node:process";
96
+ import parse from "parse-gitignore";
97
+ import c2 from "picocolors";
98
+ import prompts from "prompts";
99
+
100
100
  // src/cli/utils.ts
101
101
  import { execSync } from "node:child_process";
102
102
  function isGitClean() {
package/dist/index.cjs CHANGED
@@ -55,7 +55,7 @@ var import_eslint_plugin_unused_imports = __toESM(require("eslint-plugin-unused-
55
55
  var import_eslint_plugin_perfectionist = __toESM(require("eslint-plugin-perfectionist"), 1);
56
56
 
57
57
  // src/configs/comments.ts
58
- async function comments() {
58
+ function comments() {
59
59
  return [
60
60
  {
61
61
  name: "coderwyd/eslint-comments/rules",
@@ -137,7 +137,7 @@ var GLOB_EXCLUDE = [
137
137
  ];
138
138
 
139
139
  // src/configs/ignores.ts
140
- async function ignores() {
140
+ function ignores() {
141
141
  return [
142
142
  {
143
143
  ignores: GLOB_EXCLUDE
@@ -146,7 +146,7 @@ async function ignores() {
146
146
  }
147
147
 
148
148
  // src/configs/imports.ts
149
- async function imports(options = {}) {
149
+ function imports(options = {}) {
150
150
  const { stylistic: stylistic2 = true } = options;
151
151
  return [
152
152
  {
@@ -165,23 +165,6 @@ async function imports(options = {}) {
165
165
  "import/no-named-default": "error",
166
166
  "import/no-self-import": "error",
167
167
  "import/no-webpack-loader-syntax": "error",
168
- "import/order": [
169
- "error",
170
- {
171
- groups: [
172
- "builtin",
173
- "external",
174
- "internal",
175
- "parent",
176
- "sibling",
177
- "index",
178
- "object",
179
- "type"
180
- ],
181
- pathGroups: [{ group: "internal", pattern: "{{@,~}/,#}**" }],
182
- pathGroupsExcludedImportTypes: ["type"]
183
- }
184
- ],
185
168
  ...stylistic2 ? {
186
169
  "import/newline-after-import": ["error", { count: 1 }]
187
170
  } : {}
@@ -200,7 +183,7 @@ async function imports(options = {}) {
200
183
 
201
184
  // src/configs/javascript.ts
202
185
  var import_globals = __toESM(require("globals"), 1);
203
- async function javascript(options = {}) {
186
+ function javascript(options = {}) {
204
187
  const { isInEditor: isInEditor2 = false, overrides = {} } = options;
205
188
  return [
206
189
  {
@@ -406,16 +389,8 @@ async function javascript(options = {}) {
406
389
  "prefer-rest-params": "error",
407
390
  "prefer-spread": "error",
408
391
  "prefer-template": "error",
409
- "sort-imports": [
410
- "error",
411
- {
412
- allowSeparatedGroups: false,
413
- ignoreCase: false,
414
- ignoreDeclarationSort: true,
415
- ignoreMemberSort: false,
416
- memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
417
- }
418
- ],
392
+ "require-await": "error",
393
+ "require-yield": "error",
419
394
  "symbol-description": "error",
420
395
  "unicode-bom": ["error", "never"],
421
396
  "unused-imports/no-unused-imports": isInEditor2 ? "off" : "error",
@@ -670,7 +645,7 @@ async function jsonc(options = {}) {
670
645
  }
671
646
 
672
647
  // src/configs/node.ts
673
- async function node() {
648
+ function node() {
674
649
  return [
675
650
  {
676
651
  name: "coderwyd/node/rules",
@@ -683,6 +658,7 @@ async function node() {
683
658
  "node/no-exports-assign": "error",
684
659
  "node/no-new-require": "error",
685
660
  "node/no-path-concat": "error",
661
+ "node/no-unsupported-features/es-builtins": "error",
686
662
  "node/prefer-global/buffer": ["error", "never"],
687
663
  "node/prefer-global/process": ["error", "never"],
688
664
  "node/process-exit-as-throw": "error"
@@ -692,7 +668,7 @@ async function node() {
692
668
  }
693
669
 
694
670
  // src/configs/sort.ts
695
- async function sortPackageJson() {
671
+ function sortPackageJson() {
696
672
  return [
697
673
  {
698
674
  files: ["**/package.json"],
@@ -1084,7 +1060,8 @@ async function typescript(options = {}) {
1084
1060
  "ts/no-extraneous-class": "off",
1085
1061
  "ts/no-import-type-side-effects": "error",
1086
1062
  "ts/no-invalid-void-type": "off",
1087
- "ts/no-loss-of-precision": "error",
1063
+ // this is deprecated
1064
+ "ts/no-loss-of-precision": "off",
1088
1065
  "ts/no-non-null-assertion": "off",
1089
1066
  "ts/no-redeclare": "error",
1090
1067
  "ts/no-require-imports": "error",
@@ -1140,7 +1117,7 @@ async function typescript(options = {}) {
1140
1117
  }
1141
1118
 
1142
1119
  // src/configs/unicorn.ts
1143
- async function unicorn() {
1120
+ function unicorn() {
1144
1121
  return [
1145
1122
  {
1146
1123
  name: "coderwyd/unicorn/rules",
@@ -1172,6 +1149,7 @@ async function unicorn() {
1172
1149
  "unicorn/no-hex-escape": "error",
1173
1150
  "unicorn/no-instanceof-array": "error",
1174
1151
  "unicorn/no-invalid-remove-event-listener": "error",
1152
+ "unicorn/no-length-as-slice-end": "error",
1175
1153
  "unicorn/no-lonely-if": "error",
1176
1154
  "unicorn/no-new-array": "error",
1177
1155
  "unicorn/no-new-buffer": "error",
@@ -1323,19 +1301,19 @@ async function vue(options = {}) {
1323
1301
  "vue/dot-notation": ["error", { allowKeywords: true }],
1324
1302
  "vue/eqeqeq": ["error", "smart"],
1325
1303
  "vue/html-indent": ["error", indent],
1326
- // 'vue/html-self-closing': [
1327
- // 'error',
1328
- // {
1329
- // html: {
1330
- // component: 'always',
1331
- // normal: 'always',
1332
- // void: 'any',
1333
- // },
1334
- // math: 'always',
1335
- // svg: 'always',
1336
- // },
1337
1304
  "vue/html-quotes": ["error", "double"],
1338
- // ],
1305
+ "vue/html-self-closing": [
1306
+ "error",
1307
+ {
1308
+ html: {
1309
+ component: "always",
1310
+ normal: "always",
1311
+ void: "any"
1312
+ },
1313
+ math: "always",
1314
+ svg: "always"
1315
+ }
1316
+ ],
1339
1317
  "vue/max-attributes-per-line": "off",
1340
1318
  "vue/multi-word-component-names": "off",
1341
1319
  // 'vue/next-tick-style': ['warn', 'promise'],
@@ -1388,6 +1366,7 @@ async function vue(options = {}) {
1388
1366
  }
1389
1367
  ],
1390
1368
  "vue/require-prop-types": "off",
1369
+ // 'vue/singleline-html-element-content-newline': 'off',
1391
1370
  "vue/space-infix-ops": "error",
1392
1371
  "vue/space-unary-ops": ["error", { nonwords: false, words: true }],
1393
1372
  "vue/valid-define-options": "warn",
@@ -1446,7 +1425,7 @@ var _pluginTest;
1446
1425
  async function test(options = {}) {
1447
1426
  const { files = GLOB_TESTS, isInEditor: isInEditor2 = false, overrides = {} } = options;
1448
1427
  const [pluginVitest, pluginNoOnlyTests] = await Promise.all([
1449
- interopDefault(import("eslint-plugin-vitest")),
1428
+ interopDefault(import("@vitest/eslint-plugin")),
1450
1429
  // @ts-expect-error missing types
1451
1430
  interopDefault(import("eslint-plugin-no-only-tests"))
1452
1431
  ]);
@@ -1487,12 +1466,78 @@ async function test(options = {}) {
1487
1466
  }
1488
1467
 
1489
1468
  // src/configs/perfectionist.ts
1490
- async function perfectionist() {
1469
+ function perfectionist() {
1491
1470
  return [
1492
1471
  {
1493
- name: "coderwyd/perfectionist/setup",
1472
+ name: "coderwyd/perfectionist/rules",
1494
1473
  plugins: {
1495
1474
  perfectionist: import_eslint_plugin_perfectionist.default
1475
+ },
1476
+ rules: {
1477
+ "perfectionist/sort-imports": [
1478
+ "warn",
1479
+ {
1480
+ groups: [
1481
+ "builtin",
1482
+ "external",
1483
+ "internal",
1484
+ "internal-type",
1485
+ "parent",
1486
+ "parent-type",
1487
+ "sibling",
1488
+ "sibling-type",
1489
+ "index",
1490
+ "index-type",
1491
+ "object",
1492
+ "type",
1493
+ "side-effect",
1494
+ "side-effect-style"
1495
+ ],
1496
+ internalPattern: ["~/**", "@/**", "#**"],
1497
+ newlinesBetween: "ignore"
1498
+ }
1499
+ ],
1500
+ "perfectionist/sort-named-exports": [
1501
+ "warn",
1502
+ { groupKind: "values-first" }
1503
+ ],
1504
+ "perfectionist/sort-named-imports": [
1505
+ "warn",
1506
+ { groupKind: "values-first" }
1507
+ ],
1508
+ "perfectionist/sort-vue-attributes": [
1509
+ "error",
1510
+ {
1511
+ // Based on: https://vuejs.org/style-guide/rules-recommended.html#element-attribute-order
1512
+ customGroups: {
1513
+ CONDITIONALS: "v-*(else-if|if|else|show|cloak)",
1514
+ CONTENT: "v-*(html|text)",
1515
+ DEFINITION: "*(is|:is|v-is)",
1516
+ // OTHER_DIRECTIVES e.g. 'v-custom-directive'
1517
+ EVENTS: "*(v-on|@*)",
1518
+ GLOBAL: "*(:id|id)",
1519
+ LIST_RENDERING: "v-for",
1520
+ RENDER_MODIFIERS: "v-*(pre|once)",
1521
+ SLOT: "*(v-slot|slot)",
1522
+ TWO_WAY_BINDING: "*(v-model|v-model:*)",
1523
+ UNIQUE: "*(ref|key|:ref|:key)"
1524
+ },
1525
+ groups: [
1526
+ "DEFINITION",
1527
+ "LIST_RENDERING",
1528
+ "CONDITIONALS",
1529
+ "RENDER_MODIFIERS",
1530
+ "GLOBAL",
1531
+ "UNIQUE",
1532
+ "SLOT",
1533
+ "TWO_WAY_BINDING",
1534
+ "unknown",
1535
+ "EVENTS",
1536
+ "CONTENT"
1537
+ ],
1538
+ type: "natural"
1539
+ }
1540
+ ]
1496
1541
  }
1497
1542
  }
1498
1543
  ];
@@ -1905,7 +1950,7 @@ async function tailwindcss(options = {}) {
1905
1950
 
1906
1951
  // src/configs/command.ts
1907
1952
  var import_config = __toESM(require("eslint-plugin-command/config"), 1);
1908
- async function command() {
1953
+ function command() {
1909
1954
  return [
1910
1955
  {
1911
1956
  ...(0, import_config.default)(),
@@ -1916,7 +1961,7 @@ async function command() {
1916
1961
 
1917
1962
  // src/configs/regexp.ts
1918
1963
  var import_eslint_plugin_regexp = require("eslint-plugin-regexp");
1919
- async function regexp(options = {}) {
1964
+ function regexp(options = {}) {
1920
1965
  const config = import_eslint_plugin_regexp.configs["flat/recommended"];
1921
1966
  const rules = {
1922
1967
  ...config.rules
@@ -1940,7 +1985,7 @@ async function regexp(options = {}) {
1940
1985
  }
1941
1986
 
1942
1987
  // src/configs/jsx.ts
1943
- async function jsx() {
1988
+ function jsx() {
1944
1989
  return [
1945
1990
  {
1946
1991
  files: [GLOB_JSX, GLOB_TSX],