@so1ve/eslint-config 1.3.0 → 1.5.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.cjs CHANGED
@@ -1,15 +1,11 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var pluginComments = require('@eslint-community/eslint-plugin-eslint-comments');
6
4
  var pluginHtml = require('@html-eslint/eslint-plugin');
7
5
  var parserHtml = require('@html-eslint/parser');
8
6
  var pluginSo1ve = require('@so1ve/eslint-plugin');
9
7
  var pluginSortImports = require('@so1ve/eslint-plugin-sort-imports');
10
8
  var pluginStylistic = require('@stylistic/eslint-plugin');
11
- var pluginTs = require('@typescript-eslint/eslint-plugin');
12
- var parserTs = require('@typescript-eslint/parser');
13
9
  var eslintMdx = require('eslint-mdx');
14
10
  var pluginArrayFunc = require('eslint-plugin-array-func');
15
11
  var pluginEtc = require('eslint-plugin-etc');
@@ -37,14 +33,12 @@ var parserToml = require('toml-eslint-parser');
37
33
  var parserVue = require('vue-eslint-parser');
38
34
  var parserYaml = require('yaml-eslint-parser');
39
35
  var globals = require('globals');
36
+ var tseslint = require('typescript-eslint');
40
37
  var fs = require('node:fs');
41
38
  var gitignore = require('eslint-config-flat-gitignore');
42
39
  var localPkg = require('local-pkg');
43
40
 
44
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
45
-
46
- function _interopNamespace(e) {
47
- if (e && e.__esModule) return e;
41
+ function _interopNamespaceDefault(e) {
48
42
  var n = Object.create(null);
49
43
  if (e) {
50
44
  Object.keys(e).forEach(function (k) {
@@ -57,52 +51,16 @@ function _interopNamespace(e) {
57
51
  }
58
52
  });
59
53
  }
60
- n["default"] = e;
54
+ n.default = e;
61
55
  return Object.freeze(n);
62
56
  }
63
57
 
64
- var pluginComments__default = /*#__PURE__*/_interopDefaultLegacy(pluginComments);
65
- var pluginHtml__default = /*#__PURE__*/_interopDefaultLegacy(pluginHtml);
66
- var parserHtml__default = /*#__PURE__*/_interopDefaultLegacy(parserHtml);
67
- var pluginSo1ve__default = /*#__PURE__*/_interopDefaultLegacy(pluginSo1ve);
68
- var pluginSortImports__default = /*#__PURE__*/_interopDefaultLegacy(pluginSortImports);
69
- var pluginStylistic__default = /*#__PURE__*/_interopDefaultLegacy(pluginStylistic);
70
- var pluginTs__default = /*#__PURE__*/_interopDefaultLegacy(pluginTs);
71
- var parserTs__default = /*#__PURE__*/_interopDefaultLegacy(parserTs);
72
- var eslintMdx__default = /*#__PURE__*/_interopDefaultLegacy(eslintMdx);
73
- var pluginArrayFunc__default = /*#__PURE__*/_interopDefaultLegacy(pluginArrayFunc);
74
- var pluginEtc__default = /*#__PURE__*/_interopDefaultLegacy(pluginEtc);
75
- var pluginHtmlJsSupport__default = /*#__PURE__*/_interopDefaultLegacy(pluginHtmlJsSupport);
76
- var pluginImport__default = /*#__PURE__*/_interopDefaultLegacy(pluginImport);
77
- var pluginJestFormatting__default = /*#__PURE__*/_interopDefaultLegacy(pluginJestFormatting);
78
- var pluginJsonSchemaValidator__default = /*#__PURE__*/_interopDefaultLegacy(pluginJsonSchemaValidator);
79
- var pluginJsonc__default = /*#__PURE__*/_interopDefaultLegacy(pluginJsonc);
80
- var pluginMdx__default = /*#__PURE__*/_interopDefaultLegacy(pluginMdx);
81
- var pluginNode__default = /*#__PURE__*/_interopDefaultLegacy(pluginNode);
82
- var pluginNoAwaitInPromise__namespace = /*#__PURE__*/_interopNamespace(pluginNoAwaitInPromise);
83
- var pluginNoOnlyTests__default = /*#__PURE__*/_interopDefaultLegacy(pluginNoOnlyTests);
84
- var pluginOnlyError__default = /*#__PURE__*/_interopDefaultLegacy(pluginOnlyError);
85
- var pluginPromise__default = /*#__PURE__*/_interopDefaultLegacy(pluginPromise);
86
- var pluginRegexp__default = /*#__PURE__*/_interopDefaultLegacy(pluginRegexp);
87
- var pluginSolid__default = /*#__PURE__*/_interopDefaultLegacy(pluginSolid);
88
- var pluginToml__default = /*#__PURE__*/_interopDefaultLegacy(pluginToml);
89
- var pluginUnicorn__default = /*#__PURE__*/_interopDefaultLegacy(pluginUnicorn);
90
- var pluginUnusedImports__default = /*#__PURE__*/_interopDefaultLegacy(pluginUnusedImports);
91
- var pluginVitest__default = /*#__PURE__*/_interopDefaultLegacy(pluginVitest);
92
- var pluginVue__default = /*#__PURE__*/_interopDefaultLegacy(pluginVue);
93
- var pluginYaml__default = /*#__PURE__*/_interopDefaultLegacy(pluginYaml);
94
- var parserJsonc__default = /*#__PURE__*/_interopDefaultLegacy(parserJsonc);
95
- var parserToml__default = /*#__PURE__*/_interopDefaultLegacy(parserToml);
96
- var parserVue__default = /*#__PURE__*/_interopDefaultLegacy(parserVue);
97
- var parserYaml__default = /*#__PURE__*/_interopDefaultLegacy(parserYaml);
98
- var globals__default = /*#__PURE__*/_interopDefaultLegacy(globals);
99
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
100
- var gitignore__default = /*#__PURE__*/_interopDefaultLegacy(gitignore);
58
+ var pluginNoAwaitInPromise__namespace = /*#__PURE__*/_interopNamespaceDefault(pluginNoAwaitInPromise);
101
59
 
102
60
  const comments = () => [
103
61
  {
104
62
  plugins: {
105
- "eslint-comments": pluginComments__default["default"]
63
+ "eslint-comments": pluginComments
106
64
  }
107
65
  },
108
66
  {
@@ -197,7 +155,7 @@ const formatting = (options) => {
197
155
  return [
198
156
  {
199
157
  plugins: {
200
- style: pluginStylistic__default["default"]
158
+ style: pluginStylistic
201
159
  }
202
160
  },
203
161
  {
@@ -405,13 +363,13 @@ function warnUnnecessaryOffRules() {
405
363
  const html = () => [
406
364
  {
407
365
  plugins: {
408
- "html": pluginHtml__default["default"],
409
- "html-js-support": pluginHtmlJsSupport__default["default"]
366
+ "html": pluginHtml,
367
+ "html-js-support": pluginHtmlJsSupport
410
368
  }
411
369
  },
412
370
  {
413
371
  languageOptions: {
414
- parser: parserHtml__default["default"]
372
+ parser: parserHtml
415
373
  },
416
374
  settings: {
417
375
  "html/report-bad-indent": "off"
@@ -419,7 +377,7 @@ const html = () => [
419
377
  files: [GLOB_HTML],
420
378
  rules: {
421
379
  ...renameRules(
422
- pluginHtml__default["default"].configs.recommended.rules,
380
+ pluginHtml.configs.recommended.rules,
423
381
  "@html-eslint/",
424
382
  "html/"
425
383
  ),
@@ -437,7 +395,7 @@ const ignores = () => [{ ignores: GLOB_EXCLUDE }];
437
395
  const imports = (options = {}) => [
438
396
  {
439
397
  plugins: {
440
- import: pluginImport__default["default"]
398
+ import: pluginImport
441
399
  }
442
400
  },
443
401
  {
@@ -459,7 +417,7 @@ const imports = (options = {}) => [
459
417
  }
460
418
  },
461
419
  rules: {
462
- ...pluginImport__default["default"].configs.recommended.rules,
420
+ ...pluginImport.configs.recommended.rules,
463
421
  "import/first": "error",
464
422
  "import/no-mutable-exports": "error",
465
423
  "import/no-useless-path-segments": ["error", { noUselessIndex: true }],
@@ -487,12 +445,12 @@ const javascript = ({
487
445
  } = {}) => [
488
446
  {
489
447
  plugins: {
490
- "so1ve": pluginSo1ve__default["default"],
491
- "unused-imports": pluginUnusedImports__default["default"],
492
- "sort-imports": pluginSortImports__default["default"],
493
- "array-func": pluginArrayFunc__default["default"],
494
- "json-schema-validator": pluginJsonSchemaValidator__default["default"],
495
- "regexp": pluginRegexp__default["default"],
448
+ "so1ve": pluginSo1ve,
449
+ "unused-imports": pluginUnusedImports,
450
+ "sort-imports": pluginSortImports,
451
+ "array-func": pluginArrayFunc,
452
+ "json-schema-validator": pluginJsonSchemaValidator,
453
+ "regexp": pluginRegexp,
496
454
  "no-await-in-promise": pluginNoAwaitInPromise__namespace
497
455
  }
498
456
  },
@@ -500,9 +458,9 @@ const javascript = ({
500
458
  languageOptions: {
501
459
  ecmaVersion: 2022,
502
460
  globals: {
503
- ...globals__default["default"].browser,
504
- ...globals__default["default"].es2021,
505
- ...globals__default["default"].node,
461
+ ...globals.browser,
462
+ ...globals.es2021,
463
+ ...globals.node,
506
464
  document: "readonly",
507
465
  navigator: "readonly",
508
466
  window: "readonly"
@@ -795,7 +753,7 @@ const javascript = ({
795
753
  "valid-typeof": ["error", { requireStringLiterals: true }],
796
754
  // so1ve
797
755
  "so1ve/import-dedupe": "error",
798
- "so1ve/use-async-with-await": "error",
756
+ "so1ve/require-async-with-await": "error",
799
757
  // Sort Imports
800
758
  "sort-imports/imports": ["error"],
801
759
  "sort-imports/exports": "error",
@@ -828,17 +786,17 @@ const javascript = ({
828
786
  const jsonc = () => [
829
787
  {
830
788
  plugins: {
831
- jsonc: pluginJsonc__default["default"]
789
+ jsonc: pluginJsonc
832
790
  }
833
791
  },
834
792
  {
835
793
  files: [GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_ESLINTRC],
836
794
  languageOptions: {
837
- parser: parserJsonc__default["default"]
795
+ parser: parserJsonc
838
796
  },
839
797
  rules: {
840
- ...pluginJsonc__default["default"].configs.base.overrides[0].rules,
841
- ...pluginJsonc__default["default"].configs["recommended-with-jsonc"].rules,
798
+ ...pluginJsonc.configs.base.overrides[0].rules,
799
+ ...pluginJsonc.configs["recommended-with-jsonc"].rules,
842
800
  "jsonc/no-octal-escape": "error",
843
801
  "jsonc/quotes": "off",
844
802
  "jsonc/quotes-props": "off"
@@ -851,20 +809,20 @@ const mdx = ({
851
809
  overrides
852
810
  } = {}) => [
853
811
  {
854
- ...pluginMdx__default["default"].flat,
855
- processor: pluginMdx__default["default"].createRemarkProcessor({
812
+ ...pluginMdx.flat,
813
+ processor: pluginMdx.createRemarkProcessor({
856
814
  lintCodeBlocks: true,
857
815
  languageMapper: {}
858
816
  })
859
817
  },
860
818
  {
861
- ...pluginMdx__default["default"].flatCodeBlocks,
819
+ ...pluginMdx.flatCodeBlocks,
862
820
  files: [
863
- ...pluginMdx__default["default"].flatCodeBlocks.files,
821
+ ...pluginMdx.flatCodeBlocks.files,
864
822
  ...componentExts.map((ext) => `${GLOB_MARKDOWN}/*.${ext}`)
865
823
  ],
866
824
  rules: {
867
- ...pluginMdx__default["default"].flatCodeBlocks.rules,
825
+ ...pluginMdx.flatCodeBlocks.rules,
868
826
  "html/require-doctype": "off",
869
827
  "ts/no-redeclare": "off",
870
828
  "ts/no-unused-vars": "off",
@@ -889,7 +847,7 @@ const mdx = ({
889
847
  const node = () => [
890
848
  {
891
849
  plugins: {
892
- node: pluginNode__default["default"]
850
+ node: pluginNode
893
851
  }
894
852
  },
895
853
  {
@@ -908,7 +866,7 @@ const node = () => [
908
866
  const onlyError = () => [
909
867
  {
910
868
  plugins: {
911
- "only-error": pluginOnlyError__default["default"]
869
+ "only-error": pluginOnlyError
912
870
  }
913
871
  }
914
872
  ];
@@ -916,7 +874,7 @@ const onlyError = () => [
916
874
  const promise = () => [
917
875
  {
918
876
  plugins: {
919
- promise: pluginPromise__default["default"]
877
+ promise: pluginPromise
920
878
  }
921
879
  },
922
880
  {
@@ -932,7 +890,7 @@ const solid = ({
932
890
  } = {}) => [
933
891
  {
934
892
  plugins: {
935
- solid: pluginSolid__default["default"]
893
+ solid: pluginSolid
936
894
  }
937
895
  },
938
896
  {
@@ -945,8 +903,8 @@ const solid = ({
945
903
  }
946
904
  },
947
905
  rules: {
948
- ...pluginSolid__default["default"].configs.recommended.rules,
949
- ...typescript ? pluginSolid__default["default"].configs.typescript.rules : {},
906
+ ...pluginSolid.configs.recommended.rules,
907
+ ...typescript ? pluginSolid.configs.typescript.rules : {},
950
908
  ...overrides
951
909
  }
952
910
  }
@@ -955,7 +913,7 @@ const solid = ({
955
913
  const sortImports = () => [
956
914
  {
957
915
  plugins: {
958
- "sort-imports": pluginSortImports__default["default"]
916
+ "sort-imports": pluginSortImports
959
917
  }
960
918
  },
961
919
  {
@@ -969,15 +927,15 @@ const sortImports = () => [
969
927
  const test = ({ overrides } = {}) => [
970
928
  {
971
929
  plugins: {
972
- "no-only-tests": pluginNoOnlyTests__default["default"],
973
- "vitest": pluginVitest__default["default"],
974
- "jest-formatting": pluginJestFormatting__default["default"]
930
+ "no-only-tests": pluginNoOnlyTests,
931
+ "vitest": pluginVitest,
932
+ "jest-formatting": pluginJestFormatting
975
933
  }
976
934
  },
977
935
  {
978
936
  files: GLOB_TESTS,
979
937
  rules: {
980
- ...pluginVitest__default["default"].configs.recommended.rules,
938
+ ...pluginVitest.configs.recommended.rules,
981
939
  "no-only-tests/no-only-tests": "error",
982
940
  "vitest/expect-expect": "off",
983
941
  "vitest/valid-title": "off",
@@ -1003,16 +961,16 @@ const test = ({ overrides } = {}) => [
1003
961
  const toml = ({ overrides } = {}) => [
1004
962
  {
1005
963
  plugins: {
1006
- toml: pluginToml__default["default"]
964
+ toml: pluginToml
1007
965
  }
1008
966
  },
1009
967
  {
1010
968
  languageOptions: {
1011
- parser: parserToml__default["default"]
969
+ parser: parserToml
1012
970
  },
1013
971
  files: [GLOB_TOML],
1014
972
  rules: {
1015
- ...pluginToml__default["default"].configs.recommended.rules,
973
+ ...pluginToml.configs.recommended.rules,
1016
974
  "no-irregular-whitespace": "off",
1017
975
  "spaced-comment": "off",
1018
976
  ...overrides
@@ -1064,15 +1022,15 @@ function typescript({
1064
1022
  {
1065
1023
  // Install the plugins without globs, so they can be configured separately.
1066
1024
  plugins: {
1067
- import: pluginImport__default["default"],
1068
- ts: pluginTs__default["default"],
1069
- etc: pluginEtc__default["default"]
1025
+ import: pluginImport,
1026
+ ts: tseslint.plugin,
1027
+ etc: pluginEtc
1070
1028
  }
1071
1029
  },
1072
1030
  {
1073
1031
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
1074
1032
  languageOptions: {
1075
- parser: parserTs__default["default"],
1033
+ parser: tseslint.parser,
1076
1034
  parserOptions: {
1077
1035
  sourceType: "module",
1078
1036
  extraFileExtensions: componentExts.map((ext) => `.${ext}`),
@@ -1089,12 +1047,12 @@ function typescript({
1089
1047
  },
1090
1048
  rules: {
1091
1049
  ...renameRules(
1092
- pluginTs__default["default"].configs["eslint-recommended"].overrides[0].rules,
1050
+ tseslint.configs.eslintRecommended.rules,
1093
1051
  "@typescript-eslint/",
1094
1052
  "ts/"
1095
1053
  ),
1096
1054
  ...renameRules(
1097
- pluginTs__default["default"].configs.recommended.rules,
1055
+ tseslint.configs.recommended.map((config) => config.rules).filter(Boolean).reduce((a, b) => ({ ...a, ...b }), {}),
1098
1056
  "@typescript-eslint/",
1099
1057
  "ts/"
1100
1058
  ),
@@ -1227,7 +1185,7 @@ function typescript({
1227
1185
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
1228
1186
  ignores: [GLOB_MARKDOWN_CODE],
1229
1187
  languageOptions: {
1230
- parser: parserTs__default["default"],
1188
+ parser: tseslint.parser,
1231
1189
  parserOptions: {
1232
1190
  sourceType: "module",
1233
1191
  // EXPERIMENTAL_useProjectService: true,
@@ -1270,7 +1228,7 @@ function typescript({
1270
1228
  const unicorn = () => [
1271
1229
  {
1272
1230
  plugins: {
1273
- unicorn: pluginUnicorn__default["default"]
1231
+ unicorn: pluginUnicorn
1274
1232
  },
1275
1233
  rules: {
1276
1234
  "unicorn/throw-new-error": "error",
@@ -1324,31 +1282,31 @@ const vue = ({
1324
1282
  } = {}) => [
1325
1283
  {
1326
1284
  plugins: {
1327
- vue: pluginVue__default["default"]
1285
+ vue: pluginVue
1328
1286
  }
1329
1287
  },
1330
1288
  {
1331
1289
  files: [GLOB_VUE],
1332
1290
  languageOptions: {
1333
- parser: parserVue__default["default"],
1291
+ parser: parserVue,
1334
1292
  parserOptions: {
1335
1293
  ecmaFeatures: {
1336
1294
  jsx: true
1337
1295
  },
1338
1296
  extraFileExtensions: [".vue"],
1339
- parser: typescript ? parserTs__default["default"] : null,
1297
+ parser: typescript ? tseslint.parser : null,
1340
1298
  sourceType: "module"
1341
1299
  }
1342
1300
  },
1343
- processor: pluginVue__default["default"].processors[".vue"],
1301
+ processor: pluginVue.processors[".vue"],
1344
1302
  rules: {
1345
- ...pluginVue__default["default"].configs.base.rules,
1346
- ...pluginVue__default["default"].configs["vue3-essential"].rules,
1347
- ...pluginVue__default["default"].configs["vue3-strongly-recommended"].rules,
1348
- ...pluginVue__default["default"].configs["vue3-recommended"].rules,
1303
+ ...pluginVue.configs.base.rules,
1304
+ ...pluginVue.configs["vue3-essential"].rules,
1305
+ ...pluginVue.configs["vue3-strongly-recommended"].rules,
1306
+ ...pluginVue.configs["vue3-recommended"].rules,
1349
1307
  "no-unused-vars": "off",
1350
1308
  "no-undef": "off",
1351
- "@typescript-eslint/no-unused-vars": "off",
1309
+ "ts/no-unused-vars": "off",
1352
1310
  "vue/no-v-html": "off",
1353
1311
  "vue/require-prop-types": "off",
1354
1312
  "vue/require-default-prop": "off",
@@ -1516,15 +1474,15 @@ const vue = ({
1516
1474
  const yaml = ({ overrides } = {}) => [
1517
1475
  {
1518
1476
  plugins: {
1519
- yaml: pluginYaml__default["default"]
1477
+ yaml: pluginYaml
1520
1478
  },
1521
1479
  languageOptions: {
1522
- parser: parserYaml__default["default"]
1480
+ parser: parserYaml
1523
1481
  },
1524
1482
  files: [GLOB_YAML],
1525
1483
  rules: {
1526
- ...renameRules(pluginYaml__default["default"].configs.prettier.rules, "yml/", "yaml/"),
1527
- ...renameRules(pluginYaml__default["default"].configs.recommended.rules, "yml/", "yaml/"),
1484
+ ...renameRules(pluginYaml.configs.prettier.rules, "yml/", "yaml/"),
1485
+ ...renameRules(pluginYaml.configs.recommended.rules, "yml/", "yaml/"),
1528
1486
  "yaml/no-empty-document": "off",
1529
1487
  "spaced-comment": "off",
1530
1488
  ...overrides
@@ -1555,11 +1513,11 @@ function so1ve(options = {}, ...userConfigs) {
1555
1513
  const configs = [];
1556
1514
  if (enableGitignore) {
1557
1515
  if (typeof enableGitignore === "boolean") {
1558
- if (fs__default["default"].existsSync(".gitignore")) {
1559
- configs.push([gitignore__default["default"]()]);
1516
+ if (fs.existsSync(".gitignore")) {
1517
+ configs.push([gitignore()]);
1560
1518
  }
1561
1519
  } else {
1562
- configs.push([gitignore__default["default"](enableGitignore)]);
1520
+ configs.push([gitignore(enableGitignore)]);
1563
1521
  }
1564
1522
  }
1565
1523
  configs.push(
@@ -1661,139 +1619,38 @@ function getOverrides(options, key) {
1661
1619
  };
1662
1620
  }
1663
1621
 
1664
- Object.defineProperty(exports, 'pluginComments', {
1665
- enumerable: true,
1666
- get: function () { return pluginComments__default["default"]; }
1667
- });
1668
- Object.defineProperty(exports, 'pluginHtml', {
1669
- enumerable: true,
1670
- get: function () { return pluginHtml__default["default"]; }
1671
- });
1672
- Object.defineProperty(exports, 'parserHtml', {
1673
- enumerable: true,
1674
- get: function () { return parserHtml__default["default"]; }
1675
- });
1676
- Object.defineProperty(exports, 'pluginSo1ve', {
1677
- enumerable: true,
1678
- get: function () { return pluginSo1ve__default["default"]; }
1679
- });
1680
- Object.defineProperty(exports, 'pluginSortImports', {
1681
- enumerable: true,
1682
- get: function () { return pluginSortImports__default["default"]; }
1683
- });
1684
- Object.defineProperty(exports, 'pluginStylistic', {
1685
- enumerable: true,
1686
- get: function () { return pluginStylistic__default["default"]; }
1687
- });
1688
- Object.defineProperty(exports, 'pluginTs', {
1689
- enumerable: true,
1690
- get: function () { return pluginTs__default["default"]; }
1691
- });
1692
- Object.defineProperty(exports, 'parserTs', {
1693
- enumerable: true,
1694
- get: function () { return parserTs__default["default"]; }
1695
- });
1696
- Object.defineProperty(exports, 'parserMdx', {
1697
- enumerable: true,
1698
- get: function () { return eslintMdx__default["default"]; }
1699
- });
1700
- Object.defineProperty(exports, 'pluginArrayFunc', {
1701
- enumerable: true,
1702
- get: function () { return pluginArrayFunc__default["default"]; }
1703
- });
1704
- Object.defineProperty(exports, 'pluginEtc', {
1705
- enumerable: true,
1706
- get: function () { return pluginEtc__default["default"]; }
1707
- });
1708
- Object.defineProperty(exports, 'pluginHtmlJsSupport', {
1709
- enumerable: true,
1710
- get: function () { return pluginHtmlJsSupport__default["default"]; }
1711
- });
1712
- Object.defineProperty(exports, 'pluginImport', {
1713
- enumerable: true,
1714
- get: function () { return pluginImport__default["default"]; }
1715
- });
1716
- Object.defineProperty(exports, 'pluginJestFormatting', {
1717
- enumerable: true,
1718
- get: function () { return pluginJestFormatting__default["default"]; }
1719
- });
1720
- Object.defineProperty(exports, 'pluginJsonSchemaValidator', {
1721
- enumerable: true,
1722
- get: function () { return pluginJsonSchemaValidator__default["default"]; }
1723
- });
1724
- Object.defineProperty(exports, 'pluginJsonc', {
1725
- enumerable: true,
1726
- get: function () { return pluginJsonc__default["default"]; }
1727
- });
1728
- Object.defineProperty(exports, 'pluginMdx', {
1729
- enumerable: true,
1730
- get: function () { return pluginMdx__default["default"]; }
1731
- });
1732
- Object.defineProperty(exports, 'pluginNode', {
1733
- enumerable: true,
1734
- get: function () { return pluginNode__default["default"]; }
1735
- });
1622
+ exports.pluginComments = pluginComments;
1623
+ exports.pluginHtml = pluginHtml;
1624
+ exports.parserHtml = parserHtml;
1625
+ exports.pluginSo1ve = pluginSo1ve;
1626
+ exports.pluginSortImports = pluginSortImports;
1627
+ exports.pluginStylistic = pluginStylistic;
1628
+ exports.parserMdx = eslintMdx;
1629
+ exports.pluginArrayFunc = pluginArrayFunc;
1630
+ exports.pluginEtc = pluginEtc;
1631
+ exports.pluginHtmlJsSupport = pluginHtmlJsSupport;
1632
+ exports.pluginImport = pluginImport;
1633
+ exports.pluginJestFormatting = pluginJestFormatting;
1634
+ exports.pluginJsonSchemaValidator = pluginJsonSchemaValidator;
1635
+ exports.pluginJsonc = pluginJsonc;
1636
+ exports.pluginMdx = pluginMdx;
1637
+ exports.pluginNode = pluginNode;
1736
1638
  exports.pluginNoAwaitInPromise = pluginNoAwaitInPromise__namespace;
1737
- Object.defineProperty(exports, 'pluginNoOnlyTests', {
1738
- enumerable: true,
1739
- get: function () { return pluginNoOnlyTests__default["default"]; }
1740
- });
1741
- Object.defineProperty(exports, 'pluginOnlyError', {
1742
- enumerable: true,
1743
- get: function () { return pluginOnlyError__default["default"]; }
1744
- });
1745
- Object.defineProperty(exports, 'pluginPromise', {
1746
- enumerable: true,
1747
- get: function () { return pluginPromise__default["default"]; }
1748
- });
1749
- Object.defineProperty(exports, 'pluginRegexp', {
1750
- enumerable: true,
1751
- get: function () { return pluginRegexp__default["default"]; }
1752
- });
1753
- Object.defineProperty(exports, 'pluginSolid', {
1754
- enumerable: true,
1755
- get: function () { return pluginSolid__default["default"]; }
1756
- });
1757
- Object.defineProperty(exports, 'pluginToml', {
1758
- enumerable: true,
1759
- get: function () { return pluginToml__default["default"]; }
1760
- });
1761
- Object.defineProperty(exports, 'pluginUnicorn', {
1762
- enumerable: true,
1763
- get: function () { return pluginUnicorn__default["default"]; }
1764
- });
1765
- Object.defineProperty(exports, 'pluginUnusedImports', {
1766
- enumerable: true,
1767
- get: function () { return pluginUnusedImports__default["default"]; }
1768
- });
1769
- Object.defineProperty(exports, 'pluginVitest', {
1770
- enumerable: true,
1771
- get: function () { return pluginVitest__default["default"]; }
1772
- });
1773
- Object.defineProperty(exports, 'pluginVue', {
1774
- enumerable: true,
1775
- get: function () { return pluginVue__default["default"]; }
1776
- });
1777
- Object.defineProperty(exports, 'pluginYaml', {
1778
- enumerable: true,
1779
- get: function () { return pluginYaml__default["default"]; }
1780
- });
1781
- Object.defineProperty(exports, 'parserJsonc', {
1782
- enumerable: true,
1783
- get: function () { return parserJsonc__default["default"]; }
1784
- });
1785
- Object.defineProperty(exports, 'parserToml', {
1786
- enumerable: true,
1787
- get: function () { return parserToml__default["default"]; }
1788
- });
1789
- Object.defineProperty(exports, 'parserVue', {
1790
- enumerable: true,
1791
- get: function () { return parserVue__default["default"]; }
1792
- });
1793
- Object.defineProperty(exports, 'parserYaml', {
1794
- enumerable: true,
1795
- get: function () { return parserYaml__default["default"]; }
1796
- });
1639
+ exports.pluginNoOnlyTests = pluginNoOnlyTests;
1640
+ exports.pluginOnlyError = pluginOnlyError;
1641
+ exports.pluginPromise = pluginPromise;
1642
+ exports.pluginRegexp = pluginRegexp;
1643
+ exports.pluginSolid = pluginSolid;
1644
+ exports.pluginToml = pluginToml;
1645
+ exports.pluginUnicorn = pluginUnicorn;
1646
+ exports.pluginUnusedImports = pluginUnusedImports;
1647
+ exports.pluginVitest = pluginVitest;
1648
+ exports.pluginVue = pluginVue;
1649
+ exports.pluginYaml = pluginYaml;
1650
+ exports.parserJsonc = parserJsonc;
1651
+ exports.parserToml = parserToml;
1652
+ exports.parserVue = parserVue;
1653
+ exports.parserYaml = parserYaml;
1797
1654
  exports.GLOB_ALL_SRC = GLOB_ALL_SRC;
1798
1655
  exports.GLOB_CSS = GLOB_CSS;
1799
1656
  exports.GLOB_DTS = GLOB_DTS;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import so1vePlugin from '@so1ve/eslint-plugin';
2
2
  export { default as pluginSo1ve } from '@so1ve/eslint-plugin';
3
- import { ParserOptions } from '@typescript-eslint/parser';
4
- export { default as parserTs } from '@typescript-eslint/parser';
3
+ import { ParserOptions } from '@typescript-eslint/utils/ts-eslint';
5
4
  import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
6
5
  import { Rules, FlatESLintConfigItem } from 'eslint-define-config';
7
6
  export { default as pluginComments } from '@eslint-community/eslint-plugin-eslint-comments';
@@ -9,7 +8,6 @@ export { default as pluginHtml } from '@html-eslint/eslint-plugin';
9
8
  export { default as parserHtml } from '@html-eslint/parser';
10
9
  export { default as pluginSortImports } from '@so1ve/eslint-plugin-sort-imports';
11
10
  export { default as pluginStylistic } from '@stylistic/eslint-plugin';
12
- export { default as pluginTs } from '@typescript-eslint/eslint-plugin';
13
11
  export { default as parserMdx } from 'eslint-mdx';
14
12
  export { default as pluginArrayFunc } from 'eslint-plugin-array-func';
15
13
  export { default as pluginEtc } from 'eslint-plugin-etc';
@@ -239,4 +237,4 @@ declare function recordRulesStateConfigs(configs: ConfigItem[]): ConfigItem[];
239
237
  declare function recordRulesState(rules: ConfigItem["rules"]): ConfigItem["rules"];
240
238
  declare function warnUnnecessaryOffRules(): void;
241
239
 
242
- export { ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_DTS, GLOB_ESLINTRC, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_PACKAGEJSON, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_VUE, GLOB_YAML, Options, OptionsComponentExts, OptionsHasTypeScript, OptionsOverrides, OptionsTypeScriptParserOptions, RenamedRules, ResolvedOptions, comments, formatting, getOverrides, html, ignores, imports, javascript, jsonc, mdx, node, onlyError, promise, recordRulesState, recordRulesStateConfigs, renameRules, resolveSubOptions, so1ve, solid, sortImports, test, toml, typescript, unicorn, vue, warnUnnecessaryOffRules, yaml };
240
+ export { type ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_DTS, GLOB_ESLINTRC, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_PACKAGEJSON, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_VUE, GLOB_YAML, type Options, type OptionsComponentExts, type OptionsHasTypeScript, type OptionsOverrides, type OptionsTypeScriptParserOptions, type RenamedRules, type ResolvedOptions, comments, formatting, getOverrides, html, ignores, imports, javascript, jsonc, mdx, node, onlyError, promise, recordRulesState, recordRulesStateConfigs, renameRules, resolveSubOptions, so1ve, solid, sortImports, test, toml, typescript, unicorn, vue, warnUnnecessaryOffRules, yaml };
package/dist/index.mjs CHANGED
@@ -10,10 +10,6 @@ import pluginSortImports from '@so1ve/eslint-plugin-sort-imports';
10
10
  export { default as pluginSortImports } from '@so1ve/eslint-plugin-sort-imports';
11
11
  import pluginStylistic from '@stylistic/eslint-plugin';
12
12
  export { default as pluginStylistic } from '@stylistic/eslint-plugin';
13
- import pluginTs from '@typescript-eslint/eslint-plugin';
14
- export { default as pluginTs } from '@typescript-eslint/eslint-plugin';
15
- import parserTs from '@typescript-eslint/parser';
16
- export { default as parserTs } from '@typescript-eslint/parser';
17
13
  export { default as parserMdx } from 'eslint-mdx';
18
14
  import pluginArrayFunc from 'eslint-plugin-array-func';
19
15
  export { default as pluginArrayFunc } from 'eslint-plugin-array-func';
@@ -66,6 +62,7 @@ export { default as parserVue } from 'vue-eslint-parser';
66
62
  import parserYaml from 'yaml-eslint-parser';
67
63
  export { default as parserYaml } from 'yaml-eslint-parser';
68
64
  import globals from 'globals';
65
+ import tseslint from 'typescript-eslint';
69
66
  import fs from 'node:fs';
70
67
  import gitignore from 'eslint-config-flat-gitignore';
71
68
  import { isPackageExists } from 'local-pkg';
@@ -766,7 +763,7 @@ const javascript = ({
766
763
  "valid-typeof": ["error", { requireStringLiterals: true }],
767
764
  // so1ve
768
765
  "so1ve/import-dedupe": "error",
769
- "so1ve/use-async-with-await": "error",
766
+ "so1ve/require-async-with-await": "error",
770
767
  // Sort Imports
771
768
  "sort-imports/imports": ["error"],
772
769
  "sort-imports/exports": "error",
@@ -1036,14 +1033,14 @@ function typescript({
1036
1033
  // Install the plugins without globs, so they can be configured separately.
1037
1034
  plugins: {
1038
1035
  import: pluginImport,
1039
- ts: pluginTs,
1036
+ ts: tseslint.plugin,
1040
1037
  etc: pluginEtc
1041
1038
  }
1042
1039
  },
1043
1040
  {
1044
1041
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
1045
1042
  languageOptions: {
1046
- parser: parserTs,
1043
+ parser: tseslint.parser,
1047
1044
  parserOptions: {
1048
1045
  sourceType: "module",
1049
1046
  extraFileExtensions: componentExts.map((ext) => `.${ext}`),
@@ -1060,12 +1057,12 @@ function typescript({
1060
1057
  },
1061
1058
  rules: {
1062
1059
  ...renameRules(
1063
- pluginTs.configs["eslint-recommended"].overrides[0].rules,
1060
+ tseslint.configs.eslintRecommended.rules,
1064
1061
  "@typescript-eslint/",
1065
1062
  "ts/"
1066
1063
  ),
1067
1064
  ...renameRules(
1068
- pluginTs.configs.recommended.rules,
1065
+ tseslint.configs.recommended.map((config) => config.rules).filter(Boolean).reduce((a, b) => ({ ...a, ...b }), {}),
1069
1066
  "@typescript-eslint/",
1070
1067
  "ts/"
1071
1068
  ),
@@ -1198,7 +1195,7 @@ function typescript({
1198
1195
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
1199
1196
  ignores: [GLOB_MARKDOWN_CODE],
1200
1197
  languageOptions: {
1201
- parser: parserTs,
1198
+ parser: tseslint.parser,
1202
1199
  parserOptions: {
1203
1200
  sourceType: "module",
1204
1201
  // EXPERIMENTAL_useProjectService: true,
@@ -1307,7 +1304,7 @@ const vue = ({
1307
1304
  jsx: true
1308
1305
  },
1309
1306
  extraFileExtensions: [".vue"],
1310
- parser: typescript ? parserTs : null,
1307
+ parser: typescript ? tseslint.parser : null,
1311
1308
  sourceType: "module"
1312
1309
  }
1313
1310
  },
@@ -1319,7 +1316,7 @@ const vue = ({
1319
1316
  ...pluginVue.configs["vue3-recommended"].rules,
1320
1317
  "no-unused-vars": "off",
1321
1318
  "no-undef": "off",
1322
- "@typescript-eslint/no-unused-vars": "off",
1319
+ "ts/no-unused-vars": "off",
1323
1320
  "vue/no-v-html": "off",
1324
1321
  "vue/require-prop-types": "off",
1325
1322
  "vue/require-default-prop": "off",
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@so1ve/eslint-config",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "author": "Ray <i@mk1.io> (https://github.com/so1ve/)",
5
5
  "description": "Ray's eslint config.",
6
6
  "keywords": [
7
7
  "eslint",
8
8
  "eslint-config"
9
9
  ],
10
- "homepage": "https://github.com/so1ve/eslint-config#readme",
10
+ "homepage": "https://github.com/so1ve/codestyle-config#readme",
11
11
  "repository": {
12
12
  "type": "git",
13
- "url": "git+https://github.com/so1ve/eslint-config.git"
13
+ "url": "git+https://github.com/so1ve/codestyle-config.git"
14
14
  },
15
15
  "bugs": {
16
- "url": "https://github.com/so1ve/eslint-config/issues"
16
+ "url": "https://github.com/so1ve/codestyle-config/issues"
17
17
  },
18
18
  "license": "MIT",
19
19
  "exports": {
@@ -32,51 +32,51 @@
32
32
  "access": "public"
33
33
  },
34
34
  "dependencies": {
35
- "@eslint-community/eslint-plugin-eslint-comments": "^4.0.0",
36
- "@html-eslint/eslint-plugin": "^0.19.1",
37
- "@html-eslint/parser": "^0.19.1",
38
- "@stylistic/eslint-plugin": "^1.6.0",
39
- "@typescript-eslint/eslint-plugin": "^6.2.0",
40
- "@typescript-eslint/parser": "^6.2.0",
41
- "@unocss/eslint-config": "^0.55.0",
42
- "eslint-config-flat-gitignore": "^0.1.0",
35
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.1.0",
36
+ "@html-eslint/eslint-plugin": "^0.23.1",
37
+ "@html-eslint/parser": "^0.23.0",
38
+ "@stylistic/eslint-plugin": "^1.6.2",
39
+ "@unocss/eslint-config": "^0.58.5",
40
+ "eslint-config-flat-gitignore": "^0.1.3",
43
41
  "eslint-define-config": "^1.21.0",
44
- "eslint-import-resolver-typescript": "^3.5.5",
45
- "eslint-mdx": "^2.2.0",
46
- "eslint-plugin-array-func": "^3.1.8",
42
+ "eslint-import-resolver-typescript": "^3.6.1",
43
+ "eslint-mdx": "^2.3.4",
44
+ "eslint-plugin-array-func": "^5.0.1",
47
45
  "eslint-plugin-case-police": "^0.6.1",
48
46
  "eslint-plugin-etc": "^2.0.3",
49
47
  "eslint-plugin-html": "^7.1.0",
50
48
  "eslint-plugin-i": "2.29.0",
51
49
  "eslint-plugin-jest-formatting": "^3.1.0",
52
- "eslint-plugin-json-schema-validator": "^4.6.0",
53
- "eslint-plugin-jsonc": "^2.9.0",
54
- "eslint-plugin-mdx": "^2.2.0",
55
- "eslint-plugin-n": "^16.0.1",
56
- "eslint-plugin-no-await-in-promise": "^1.1.5",
50
+ "eslint-plugin-json-schema-validator": "^4.8.3",
51
+ "eslint-plugin-jsonc": "^2.13.0",
52
+ "eslint-plugin-mdx": "^2.3.4",
53
+ "eslint-plugin-n": "^16.6.2",
54
+ "eslint-plugin-no-await-in-promise": "1.1.5",
57
55
  "eslint-plugin-no-explicit-type-exports": "^0.12.1",
58
56
  "eslint-plugin-no-only-tests": "^3.1.0",
59
57
  "eslint-plugin-only-error": "^1.0.2",
60
58
  "eslint-plugin-promise": "^6.1.1",
61
- "eslint-plugin-regexp": "^1.15.0",
62
- "eslint-plugin-solid": "^0.13.0",
63
- "eslint-plugin-toml": "^0.5.0",
64
- "eslint-plugin-unicorn": "^48.0.1",
65
- "eslint-plugin-unused-imports": "^3.0.0",
66
- "eslint-plugin-vitest": "^0.3.0",
67
- "eslint-plugin-vue": "^9.17.0",
68
- "eslint-plugin-yml": "^1.8.0",
69
- "globals": "^13.22.0",
70
- "jsonc-eslint-parser": "^2.3.0",
59
+ "eslint-plugin-regexp": "^2.2.0",
60
+ "eslint-plugin-solid": "^0.13.1",
61
+ "eslint-plugin-toml": "^0.9.2",
62
+ "eslint-plugin-unicorn": "^51.0.1",
63
+ "eslint-plugin-unused-imports": "^3.1.0",
64
+ "eslint-plugin-vitest": "^0.3.22",
65
+ "eslint-plugin-vue": "^9.22.0",
66
+ "eslint-plugin-yml": "^1.12.2",
67
+ "globals": "^14.0.0",
68
+ "jsonc-eslint-parser": "^2.4.0",
71
69
  "local-pkg": "^0.5.0",
72
- "toml-eslint-parser": "^0.6.0",
73
- "vue-eslint-parser": "^9.3.1",
70
+ "toml-eslint-parser": "^0.9.3",
71
+ "typescript-eslint": "^7.1.0",
72
+ "vue-eslint-parser": "^9.4.2",
74
73
  "yaml-eslint-parser": "^1.2.2",
75
- "@so1ve/eslint-plugin": "1.3.0",
76
- "@so1ve/eslint-plugin-sort-imports": "1.3.0"
74
+ "@so1ve/eslint-plugin": "1.5.0",
75
+ "@so1ve/eslint-plugin-sort-imports": "1.5.0"
77
76
  },
78
77
  "devDependencies": {
79
- "eslint": "^8.46.0"
78
+ "@typescript-eslint/utils": "^7.1.0",
79
+ "eslint": "^8.57.0"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "eslint": ">=8.40.0",