@ntnyq/eslint-config 3.9.4 → 3.10.1
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/README.md +7 -1
- package/dist/index.cjs +94 -8
- package/dist/index.d.cts +735 -165
- package/dist/index.d.ts +735 -165
- package/dist/index.js +156 -75
- package/package.json +10 -10
package/dist/index.js
CHANGED
|
@@ -34,29 +34,31 @@ var parserPlain = {
|
|
|
34
34
|
|
|
35
35
|
// src/eslint/plugins.ts
|
|
36
36
|
import * as pluginRegexp from "eslint-plugin-regexp";
|
|
37
|
+
import * as pluginDepend from "eslint-plugin-depend";
|
|
37
38
|
import { default as default2 } from "eslint-plugin-n";
|
|
38
39
|
import { default as default3 } from "eslint-plugin-vue";
|
|
39
40
|
import { default as default4 } from "eslint-plugin-es-x";
|
|
40
41
|
import { default as default5 } from "eslint-plugin-yml";
|
|
41
|
-
import { default as default6 } from "eslint-plugin-
|
|
42
|
-
import { default as default7 } from "eslint-plugin-
|
|
43
|
-
import { default as default8 } from "eslint-plugin-
|
|
44
|
-
import { default as default9 } from "
|
|
45
|
-
import { default as default10 } from "eslint
|
|
46
|
-
import { default as default11 } from "eslint-plugin-
|
|
47
|
-
import { default as default12 } from "eslint-plugin-
|
|
42
|
+
import { default as default6 } from "eslint-plugin-svgo";
|
|
43
|
+
import { default as default7 } from "eslint-plugin-toml";
|
|
44
|
+
import { default as default8 } from "eslint-plugin-pinia";
|
|
45
|
+
import { default as default9 } from "eslint-plugin-ntnyq";
|
|
46
|
+
import { default as default10 } from "@eslint/markdown";
|
|
47
|
+
import { default as default11 } from "eslint-plugin-antfu";
|
|
48
|
+
import { default as default12 } from "eslint-plugin-jsdoc";
|
|
49
|
+
import { default as default13 } from "eslint-plugin-jsonc";
|
|
48
50
|
import { plugin } from "typescript-eslint";
|
|
49
|
-
import { default as
|
|
50
|
-
import { default as
|
|
51
|
-
import { default as
|
|
52
|
-
import { default as
|
|
53
|
-
import { default as
|
|
54
|
-
import { default as
|
|
55
|
-
import { default as
|
|
56
|
-
import { default as
|
|
57
|
-
import { default as
|
|
58
|
-
import { default as
|
|
59
|
-
import { default as
|
|
51
|
+
import { default as default14 } from "eslint-plugin-format";
|
|
52
|
+
import { default as default15 } from "@unocss/eslint-plugin";
|
|
53
|
+
import { default as default16 } from "@vitest/eslint-plugin";
|
|
54
|
+
import { default as default17 } from "eslint-plugin-unicorn";
|
|
55
|
+
import { default as default18 } from "eslint-plugin-import-x";
|
|
56
|
+
import { default as default19 } from "eslint-plugin-prettier";
|
|
57
|
+
import { default as default20 } from "@stylistic/eslint-plugin";
|
|
58
|
+
import { default as default21 } from "eslint-plugin-github-action";
|
|
59
|
+
import { default as default22 } from "eslint-plugin-perfectionist";
|
|
60
|
+
import { default as default23 } from "eslint-plugin-unused-imports";
|
|
61
|
+
import { default as default24 } from "@eslint-community/eslint-plugin-eslint-comments";
|
|
60
62
|
|
|
61
63
|
// src/eslint/configs.ts
|
|
62
64
|
import { configs } from "typescript-eslint";
|
|
@@ -64,7 +66,7 @@ import { configs } from "typescript-eslint";
|
|
|
64
66
|
// src/eslint/processors.ts
|
|
65
67
|
import { mergeProcessors } from "eslint-merge-processors";
|
|
66
68
|
import { processorPassThrough } from "eslint-merge-processors";
|
|
67
|
-
import { default as
|
|
69
|
+
import { default as default25 } from "eslint-processor-vue-blocks";
|
|
68
70
|
|
|
69
71
|
// src/globs.ts
|
|
70
72
|
var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
|
|
@@ -89,6 +91,7 @@ var GLOB_POSTCSS = "**/*.{p,post}css";
|
|
|
89
91
|
var GLOB_JSON = "**/*.json";
|
|
90
92
|
var GLOB_JSON5 = "**/*.json5";
|
|
91
93
|
var GLOB_JSONC = "**/*.jsonc";
|
|
94
|
+
var GLOB_PACKAGE_JSON = "**/package.json";
|
|
92
95
|
var GLOB_VUE = "**/*.vue";
|
|
93
96
|
var GLOB_YAML = "**/*.y?(a)ml";
|
|
94
97
|
var GLOB_TOML = "**/*.toml";
|
|
@@ -374,7 +377,7 @@ var vue = (options = {}) => {
|
|
|
374
377
|
if (!sfcBlocks) return processorVueSFC;
|
|
375
378
|
return mergeProcessors2([
|
|
376
379
|
processorVueSFC,
|
|
377
|
-
|
|
380
|
+
default25({
|
|
378
381
|
...sfcBlocks,
|
|
379
382
|
blocks: {
|
|
380
383
|
styles: true,
|
|
@@ -928,7 +931,7 @@ var toml = (options = {}) => [
|
|
|
928
931
|
parser: parserToml
|
|
929
932
|
},
|
|
930
933
|
plugins: {
|
|
931
|
-
toml:
|
|
934
|
+
toml: default7
|
|
932
935
|
},
|
|
933
936
|
rules: {
|
|
934
937
|
"toml/keys-order": "error",
|
|
@@ -973,23 +976,32 @@ var vitest = (options = {}) => [
|
|
|
973
976
|
{
|
|
974
977
|
name: "ntnyq/vitest",
|
|
975
978
|
plugins: {
|
|
976
|
-
vitest:
|
|
979
|
+
vitest: default16
|
|
977
980
|
},
|
|
978
981
|
files: [...GLOB_TEST],
|
|
979
982
|
rules: {
|
|
980
|
-
...
|
|
983
|
+
...default16.configs.recommended.rules,
|
|
981
984
|
// Overrides rules
|
|
982
985
|
...options.overridesVitestRules
|
|
983
986
|
}
|
|
984
987
|
}
|
|
985
988
|
];
|
|
986
989
|
|
|
990
|
+
// src/configs/svgo.ts
|
|
991
|
+
import { config as createSVGOConfig } from "eslint-plugin-svgo";
|
|
992
|
+
var svgo = (options = {}) => [
|
|
993
|
+
{
|
|
994
|
+
...createSVGOConfig(options),
|
|
995
|
+
name: "ntnyq/svgo"
|
|
996
|
+
}
|
|
997
|
+
];
|
|
998
|
+
|
|
987
999
|
// src/configs/antfu.ts
|
|
988
1000
|
var antfu = (options = {}) => [
|
|
989
1001
|
{
|
|
990
1002
|
name: "ntnyq/antfu",
|
|
991
1003
|
plugins: {
|
|
992
|
-
antfu:
|
|
1004
|
+
antfu: default11
|
|
993
1005
|
},
|
|
994
1006
|
rules: {
|
|
995
1007
|
// required `object-curly-newline` to be disabled
|
|
@@ -1016,7 +1028,7 @@ var jsdoc = (options = {}) => [
|
|
|
1016
1028
|
{
|
|
1017
1029
|
name: "ntnyq/jsdoc",
|
|
1018
1030
|
plugins: {
|
|
1019
|
-
jsdoc:
|
|
1031
|
+
jsdoc: default12
|
|
1020
1032
|
},
|
|
1021
1033
|
rules: {
|
|
1022
1034
|
// Disabled rules
|
|
@@ -1245,13 +1257,13 @@ var jsonc = (options = {}) => [
|
|
|
1245
1257
|
name: "ntnyq/jsonc",
|
|
1246
1258
|
files: [GLOB_JSON, GLOB_JSON5, GLOB_JSONC],
|
|
1247
1259
|
plugins: {
|
|
1248
|
-
jsonc:
|
|
1260
|
+
jsonc: default13
|
|
1249
1261
|
},
|
|
1250
1262
|
languageOptions: {
|
|
1251
1263
|
parser: parserJsonc
|
|
1252
1264
|
},
|
|
1253
1265
|
rules: {
|
|
1254
|
-
...
|
|
1266
|
+
...default13.configs["recommended-with-jsonc"].rules,
|
|
1255
1267
|
"jsonc/no-octal-escape": "error",
|
|
1256
1268
|
"jsonc/indent": ["error", 2],
|
|
1257
1269
|
"jsonc/comma-style": ["error", "last"],
|
|
@@ -1292,7 +1304,7 @@ var pinia = (options = {}) => {
|
|
|
1292
1304
|
name: "ntnyq/pinia",
|
|
1293
1305
|
files,
|
|
1294
1306
|
plugins: {
|
|
1295
|
-
pinia:
|
|
1307
|
+
pinia: default8
|
|
1296
1308
|
},
|
|
1297
1309
|
rules: {
|
|
1298
1310
|
"pinia/prefer-single-store-per-file": "error",
|
|
@@ -1320,7 +1332,7 @@ var ntnyq = (options = {}) => [
|
|
|
1320
1332
|
{
|
|
1321
1333
|
name: "ntnyq/ntnyq",
|
|
1322
1334
|
plugins: {
|
|
1323
|
-
ntnyq:
|
|
1335
|
+
ntnyq: default9
|
|
1324
1336
|
},
|
|
1325
1337
|
rules: {
|
|
1326
1338
|
"ntnyq/no-member-accessibility": "error",
|
|
@@ -1330,6 +1342,47 @@ var ntnyq = (options = {}) => [
|
|
|
1330
1342
|
}
|
|
1331
1343
|
];
|
|
1332
1344
|
|
|
1345
|
+
// src/configs/depend.ts
|
|
1346
|
+
var depend = (options = {}) => {
|
|
1347
|
+
const {
|
|
1348
|
+
files = [GLOB_SRC],
|
|
1349
|
+
// check package.json file
|
|
1350
|
+
packageJson: enableCheckPackageJson = true
|
|
1351
|
+
} = options;
|
|
1352
|
+
const configs2 = [
|
|
1353
|
+
{
|
|
1354
|
+
name: "ntnyq/depend",
|
|
1355
|
+
files,
|
|
1356
|
+
plugins: {
|
|
1357
|
+
depend: pluginDepend
|
|
1358
|
+
},
|
|
1359
|
+
rules: {
|
|
1360
|
+
"depend/ban-dependencies": "error",
|
|
1361
|
+
// Overrides rules
|
|
1362
|
+
...options.overrides
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
];
|
|
1366
|
+
if (enableCheckPackageJson) {
|
|
1367
|
+
configs2.push({
|
|
1368
|
+
name: "ntnyq/depend/package-json",
|
|
1369
|
+
files: [GLOB_PACKAGE_JSON],
|
|
1370
|
+
plugins: {
|
|
1371
|
+
depend: pluginDepend
|
|
1372
|
+
},
|
|
1373
|
+
languageOptions: {
|
|
1374
|
+
parser: parserJsonc
|
|
1375
|
+
},
|
|
1376
|
+
rules: {
|
|
1377
|
+
"depend/ban-dependencies": "error",
|
|
1378
|
+
// Overrides rules
|
|
1379
|
+
...options.overrides
|
|
1380
|
+
}
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1383
|
+
return configs2;
|
|
1384
|
+
};
|
|
1385
|
+
|
|
1333
1386
|
// src/configs/regexp.ts
|
|
1334
1387
|
var regexp = (options = {}) => {
|
|
1335
1388
|
const recommendedConfig = pluginRegexp.configs["flat/recommended"];
|
|
@@ -1361,7 +1414,7 @@ var unocss = (options = {}) => [
|
|
|
1361
1414
|
{
|
|
1362
1415
|
name: "ntnyq/unocss",
|
|
1363
1416
|
plugins: {
|
|
1364
|
-
unocss:
|
|
1417
|
+
unocss: default15
|
|
1365
1418
|
},
|
|
1366
1419
|
rules: {
|
|
1367
1420
|
"unocss/order": "error",
|
|
@@ -1496,7 +1549,7 @@ var format = (options = {}) => {
|
|
|
1496
1549
|
{
|
|
1497
1550
|
name: "ntnyq/format/setup",
|
|
1498
1551
|
plugins: {
|
|
1499
|
-
format:
|
|
1552
|
+
format: default14
|
|
1500
1553
|
}
|
|
1501
1554
|
}
|
|
1502
1555
|
];
|
|
@@ -1641,12 +1694,12 @@ var ignores = (customIgnores = []) => [
|
|
|
1641
1694
|
];
|
|
1642
1695
|
|
|
1643
1696
|
// src/configs/importX.ts
|
|
1644
|
-
var { createNodeResolver } =
|
|
1697
|
+
var { createNodeResolver } = default18;
|
|
1645
1698
|
var importX = (options = {}) => [
|
|
1646
1699
|
{
|
|
1647
1700
|
name: "ntnyq/import-x",
|
|
1648
1701
|
plugins: {
|
|
1649
|
-
"import-x":
|
|
1702
|
+
"import-x": default18
|
|
1650
1703
|
},
|
|
1651
1704
|
settings: {
|
|
1652
1705
|
"import-x/resolver-next": [
|
|
@@ -1689,7 +1742,7 @@ var unicorn = (options = {}) => [
|
|
|
1689
1742
|
{
|
|
1690
1743
|
name: "ntnyq/unicorn",
|
|
1691
1744
|
plugins: {
|
|
1692
|
-
unicorn:
|
|
1745
|
+
unicorn: default17
|
|
1693
1746
|
},
|
|
1694
1747
|
rules: {
|
|
1695
1748
|
"unicorn/escape-case": "error",
|
|
@@ -1811,8 +1864,8 @@ var specials = (options = {}) => [
|
|
|
1811
1864
|
name: "ntnyq/specials/config-file",
|
|
1812
1865
|
files: [`**/*.config*.${GLOB_SRC_EXT}`],
|
|
1813
1866
|
plugins: {
|
|
1814
|
-
"import-x":
|
|
1815
|
-
perfectionist:
|
|
1867
|
+
"import-x": default18,
|
|
1868
|
+
perfectionist: default22
|
|
1816
1869
|
},
|
|
1817
1870
|
rules: {
|
|
1818
1871
|
"no-console": "off",
|
|
@@ -1840,10 +1893,10 @@ var comments = (options = {}) => [
|
|
|
1840
1893
|
{
|
|
1841
1894
|
name: "ntnyq/eslint-comments",
|
|
1842
1895
|
plugins: {
|
|
1843
|
-
"@eslint-community/eslint-comments":
|
|
1896
|
+
"@eslint-community/eslint-comments": default24
|
|
1844
1897
|
},
|
|
1845
1898
|
rules: {
|
|
1846
|
-
...
|
|
1899
|
+
...default24.configs.recommended.rules,
|
|
1847
1900
|
"@eslint-community/eslint-comments/disable-enable-pair": ["error", { allowWholeFile: true }],
|
|
1848
1901
|
// Overrides rules
|
|
1849
1902
|
...options.overrides
|
|
@@ -1853,10 +1906,10 @@ var comments = (options = {}) => [
|
|
|
1853
1906
|
|
|
1854
1907
|
// src/configs/markdown.ts
|
|
1855
1908
|
var markdown = (options = {}) => {
|
|
1856
|
-
if (!Array.isArray(
|
|
1909
|
+
if (!Array.isArray(default10.configs?.processor)) return [];
|
|
1857
1910
|
const { files = [`${GLOB_MARKDOWN}/${GLOB_SRC}`], extensions = [] } = options;
|
|
1858
1911
|
return [
|
|
1859
|
-
...
|
|
1912
|
+
...default10.configs.processor.map((config) => ({
|
|
1860
1913
|
...config,
|
|
1861
1914
|
name: `ntnyq/${config.name}`
|
|
1862
1915
|
})),
|
|
@@ -1865,7 +1918,7 @@ var markdown = (options = {}) => {
|
|
|
1865
1918
|
files,
|
|
1866
1919
|
ignores: [GLOB_MARKDOWN_NESTED],
|
|
1867
1920
|
processor: mergeProcessors([
|
|
1868
|
-
|
|
1921
|
+
default10.processors.markdown,
|
|
1869
1922
|
// Just pass through processor
|
|
1870
1923
|
processorPassThrough
|
|
1871
1924
|
])
|
|
@@ -1930,7 +1983,7 @@ var prettier = (options = {}) => {
|
|
|
1930
1983
|
{
|
|
1931
1984
|
name: "ntnyq/prettier",
|
|
1932
1985
|
plugins: {
|
|
1933
|
-
prettier:
|
|
1986
|
+
prettier: default19
|
|
1934
1987
|
},
|
|
1935
1988
|
rules: {
|
|
1936
1989
|
"vue/array-bracket-newline": "off",
|
|
@@ -1970,7 +2023,7 @@ var prettier = (options = {}) => {
|
|
|
1970
2023
|
"vue/space-infix-ops": "off",
|
|
1971
2024
|
"vue/space-unary-ops": "off",
|
|
1972
2025
|
"vue/template-curly-spacing": "off",
|
|
1973
|
-
...
|
|
2026
|
+
...default19.configs.recommended.rules,
|
|
1974
2027
|
"prettier/prettier": options.severity || options.level || "warn",
|
|
1975
2028
|
// Overrides rules
|
|
1976
2029
|
...options.overrides
|
|
@@ -1983,7 +2036,7 @@ var prettier = (options = {}) => {
|
|
|
1983
2036
|
name: "ntnyq/prettier/disabled",
|
|
1984
2037
|
files: [...disabledFiles, ...userDisabledFiles],
|
|
1985
2038
|
plugins: {
|
|
1986
|
-
prettier:
|
|
2039
|
+
prettier: default19
|
|
1987
2040
|
},
|
|
1988
2041
|
rules: {
|
|
1989
2042
|
"prettier/prettier": "off"
|
|
@@ -1997,7 +2050,7 @@ var stylistic = (options = {}) => [
|
|
|
1997
2050
|
{
|
|
1998
2051
|
name: "ntnyq/stylistic",
|
|
1999
2052
|
plugins: {
|
|
2000
|
-
"@stylistic":
|
|
2053
|
+
"@stylistic": default20
|
|
2001
2054
|
},
|
|
2002
2055
|
rules: {
|
|
2003
2056
|
// Only rules are not conflicted with Prettier
|
|
@@ -2331,7 +2384,7 @@ var typescript = (options = {}) => {
|
|
|
2331
2384
|
name: "ntnyq/ts/setup",
|
|
2332
2385
|
plugins: {
|
|
2333
2386
|
"@typescript-eslint": plugin,
|
|
2334
|
-
antfu:
|
|
2387
|
+
antfu: default11
|
|
2335
2388
|
}
|
|
2336
2389
|
},
|
|
2337
2390
|
...enableTypeAwareLint ? [
|
|
@@ -2555,7 +2608,7 @@ var perfectionist = (options = {}) => {
|
|
|
2555
2608
|
{
|
|
2556
2609
|
name: "ntnyq/perfectionist/common",
|
|
2557
2610
|
plugins: {
|
|
2558
|
-
perfectionist:
|
|
2611
|
+
perfectionist: default22
|
|
2559
2612
|
},
|
|
2560
2613
|
rules: {
|
|
2561
2614
|
"perfectionist/sort-imports": [
|
|
@@ -2601,14 +2654,17 @@ var perfectionist = (options = {}) => {
|
|
|
2601
2654
|
type: "natural",
|
|
2602
2655
|
ignoreCase: true,
|
|
2603
2656
|
internalPattern: ["^~/.+", "^@/.+", "^#.+"],
|
|
2604
|
-
newlinesBetween: "ignore"
|
|
2657
|
+
newlinesBetween: "ignore",
|
|
2658
|
+
partitionByComment: true
|
|
2605
2659
|
}
|
|
2606
2660
|
],
|
|
2607
2661
|
"perfectionist/sort-exports": [
|
|
2608
2662
|
"error",
|
|
2609
2663
|
{
|
|
2610
2664
|
order: "asc",
|
|
2611
|
-
type: "line-length"
|
|
2665
|
+
type: "line-length",
|
|
2666
|
+
groupKind: "values-first",
|
|
2667
|
+
partitionByComment: true
|
|
2612
2668
|
}
|
|
2613
2669
|
],
|
|
2614
2670
|
"perfectionist/sort-named-exports": [
|
|
@@ -2617,7 +2673,8 @@ var perfectionist = (options = {}) => {
|
|
|
2617
2673
|
type: "alphabetical",
|
|
2618
2674
|
order: "asc",
|
|
2619
2675
|
ignoreCase: true,
|
|
2620
|
-
groupKind: "values-first"
|
|
2676
|
+
groupKind: "values-first",
|
|
2677
|
+
partitionByComment: true
|
|
2621
2678
|
}
|
|
2622
2679
|
],
|
|
2623
2680
|
"perfectionist/sort-named-imports": [
|
|
@@ -2627,7 +2684,8 @@ var perfectionist = (options = {}) => {
|
|
|
2627
2684
|
order: "asc",
|
|
2628
2685
|
ignoreCase: true,
|
|
2629
2686
|
ignoreAlias: false,
|
|
2630
|
-
groupKind: "values-first"
|
|
2687
|
+
groupKind: "values-first",
|
|
2688
|
+
partitionByComment: true
|
|
2631
2689
|
}
|
|
2632
2690
|
],
|
|
2633
2691
|
// Overrides rules
|
|
@@ -2640,7 +2698,7 @@ var perfectionist = (options = {}) => {
|
|
|
2640
2698
|
name: "ntnyq/perfectionist/enums",
|
|
2641
2699
|
files: [`**/enums/${GLOB_SRC}`, `**/enums.${GLOB_SRC_EXT}`],
|
|
2642
2700
|
plugins: {
|
|
2643
|
-
perfectionist:
|
|
2701
|
+
perfectionist: default22
|
|
2644
2702
|
},
|
|
2645
2703
|
rules: {
|
|
2646
2704
|
"perfectionist/sort-enums": [
|
|
@@ -2669,7 +2727,7 @@ var perfectionist = (options = {}) => {
|
|
|
2669
2727
|
name: "ntnyq/perfectionist/types",
|
|
2670
2728
|
files: [...GLOB_TYPES],
|
|
2671
2729
|
plugins: {
|
|
2672
|
-
perfectionist:
|
|
2730
|
+
perfectionist: default22
|
|
2673
2731
|
},
|
|
2674
2732
|
rules: {
|
|
2675
2733
|
"perfectionist/sort-heritage-clauses": [
|
|
@@ -2733,7 +2791,7 @@ var perfectionist = (options = {}) => {
|
|
|
2733
2791
|
name: "ntnyq/perfectionist/constants",
|
|
2734
2792
|
files: [`**/constants/${GLOB_SRC}`, `**/constants.${GLOB_SRC_EXT}`],
|
|
2735
2793
|
plugins: {
|
|
2736
|
-
perfectionist:
|
|
2794
|
+
perfectionist: default22
|
|
2737
2795
|
},
|
|
2738
2796
|
rules: {
|
|
2739
2797
|
"perfectionist/sort-maps": [
|
|
@@ -2782,7 +2840,7 @@ var unusedImports = (options = {}) => [
|
|
|
2782
2840
|
{
|
|
2783
2841
|
name: "ntnyq/unused-imports",
|
|
2784
2842
|
plugins: {
|
|
2785
|
-
"unused-imports":
|
|
2843
|
+
"unused-imports": default23
|
|
2786
2844
|
},
|
|
2787
2845
|
rules: {
|
|
2788
2846
|
"@typescript-eslint/no-unused-vars": "off",
|
|
@@ -2829,6 +2887,7 @@ function defineESLintConfig(options = {}, ...userConfigs) {
|
|
|
2829
2887
|
toml: enableTOML = true,
|
|
2830
2888
|
jsonc: enableJSONC = true,
|
|
2831
2889
|
antfu: enableAntfu = true,
|
|
2890
|
+
depend: enableDepend = true,
|
|
2832
2891
|
regexp: enableRegexp = true,
|
|
2833
2892
|
unicorn: enableUnicorn = true,
|
|
2834
2893
|
prettier: enablePrettier = true,
|
|
@@ -2836,7 +2895,9 @@ function defineESLintConfig(options = {}, ...userConfigs) {
|
|
|
2836
2895
|
stylistic: enableStylistic = true,
|
|
2837
2896
|
gitignore: enableGitIgnore = true,
|
|
2838
2897
|
githubAction: enableGitHubAction = true,
|
|
2839
|
-
perfectionist: enablePerfectionist = true
|
|
2898
|
+
perfectionist: enablePerfectionist = true,
|
|
2899
|
+
// disabled by default
|
|
2900
|
+
svgo: enableSVGO = false
|
|
2840
2901
|
} = options;
|
|
2841
2902
|
const configs2 = [];
|
|
2842
2903
|
if (enableVue) {
|
|
@@ -2989,6 +3050,14 @@ function defineESLintConfig(options = {}, ...userConfigs) {
|
|
|
2989
3050
|
})
|
|
2990
3051
|
);
|
|
2991
3052
|
}
|
|
3053
|
+
if (enableDepend) {
|
|
3054
|
+
configs2.push(
|
|
3055
|
+
...depend({
|
|
3056
|
+
...resolveSubOptions(options, "depend"),
|
|
3057
|
+
overrides: getOverrides(options, "depend")
|
|
3058
|
+
})
|
|
3059
|
+
);
|
|
3060
|
+
}
|
|
2992
3061
|
if (enableGitHubAction) {
|
|
2993
3062
|
configs2.push(
|
|
2994
3063
|
...githubAction({
|
|
@@ -2996,6 +3065,13 @@ function defineESLintConfig(options = {}, ...userConfigs) {
|
|
|
2996
3065
|
})
|
|
2997
3066
|
);
|
|
2998
3067
|
}
|
|
3068
|
+
if (enableSVGO) {
|
|
3069
|
+
configs2.push(
|
|
3070
|
+
...svgo({
|
|
3071
|
+
...resolveSubOptions(options, "svgo")
|
|
3072
|
+
})
|
|
3073
|
+
);
|
|
3074
|
+
}
|
|
2999
3075
|
const configSpecials = specials({
|
|
3000
3076
|
...resolveSubOptions(options, "specials")
|
|
3001
3077
|
});
|
|
@@ -3033,6 +3109,7 @@ export {
|
|
|
3033
3109
|
GLOB_MARKDOWN_CODE,
|
|
3034
3110
|
GLOB_MARKDOWN_NESTED,
|
|
3035
3111
|
GLOB_NODE_MODULES,
|
|
3112
|
+
GLOB_PACKAGE_JSON,
|
|
3036
3113
|
GLOB_PINIA_STORE,
|
|
3037
3114
|
GLOB_POSTCSS,
|
|
3038
3115
|
GLOB_SCSS,
|
|
@@ -3051,6 +3128,7 @@ export {
|
|
|
3051
3128
|
command,
|
|
3052
3129
|
comments,
|
|
3053
3130
|
defineESLintConfig,
|
|
3131
|
+
depend,
|
|
3054
3132
|
esX,
|
|
3055
3133
|
format,
|
|
3056
3134
|
getOverrides,
|
|
@@ -3082,38 +3160,41 @@ export {
|
|
|
3082
3160
|
parserYaml,
|
|
3083
3161
|
perfectionist,
|
|
3084
3162
|
pinia,
|
|
3085
|
-
|
|
3086
|
-
|
|
3163
|
+
default11 as pluginAntfu,
|
|
3164
|
+
default24 as pluginComments,
|
|
3165
|
+
pluginDepend,
|
|
3087
3166
|
default4 as pluginEsX,
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3167
|
+
default14 as pluginFormat,
|
|
3168
|
+
default21 as pluginGitHubAction,
|
|
3169
|
+
default18 as pluginImportX,
|
|
3170
|
+
default12 as pluginJsdoc,
|
|
3171
|
+
default13 as pluginJsonc,
|
|
3172
|
+
default10 as pluginMarkdown,
|
|
3094
3173
|
default2 as pluginNode,
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3174
|
+
default9 as pluginNtnyq,
|
|
3175
|
+
default22 as pluginPerfectionist,
|
|
3176
|
+
default8 as pluginPinia,
|
|
3177
|
+
default19 as pluginPrettier,
|
|
3099
3178
|
pluginRegexp,
|
|
3100
|
-
|
|
3101
|
-
default6 as
|
|
3179
|
+
default20 as pluginStylistic,
|
|
3180
|
+
default6 as pluginSvgo,
|
|
3181
|
+
default7 as pluginToml,
|
|
3102
3182
|
plugin as pluginTypeScript,
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3183
|
+
default17 as pluginUnicorn,
|
|
3184
|
+
default15 as pluginUnoCSS,
|
|
3185
|
+
default23 as pluginUnusedImports,
|
|
3186
|
+
default16 as pluginVitest,
|
|
3107
3187
|
default3 as pluginVue,
|
|
3108
3188
|
default5 as pluginYaml,
|
|
3109
3189
|
prettier,
|
|
3110
3190
|
processorPassThrough,
|
|
3111
|
-
|
|
3191
|
+
default25 as processorVueBlocks,
|
|
3112
3192
|
regexp,
|
|
3113
3193
|
resolveSubOptions,
|
|
3114
3194
|
sort,
|
|
3115
3195
|
specials,
|
|
3116
3196
|
stylistic,
|
|
3197
|
+
svgo,
|
|
3117
3198
|
test,
|
|
3118
3199
|
toArray,
|
|
3119
3200
|
toml,
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ntnyq/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.
|
|
5
|
-
"packageManager": "pnpm@9.15.
|
|
4
|
+
"version": "3.10.1",
|
|
5
|
+
"packageManager": "pnpm@9.15.1",
|
|
6
6
|
"description": "An opinionated ESLint config preset of ntnyq",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"eslint",
|
|
@@ -40,14 +40,13 @@
|
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "pnpm run generate:type && tsup",
|
|
43
|
-
"clean": "rimraf dist",
|
|
44
43
|
"dev": "tsup --watch src",
|
|
45
44
|
"generate:site": "tsx scripts/generateSite.ts",
|
|
46
45
|
"generate:type": "tsx scripts/generateType.ts",
|
|
47
46
|
"lint": "eslint --flag unstable_ts_config .",
|
|
48
47
|
"prepare": "husky",
|
|
49
48
|
"release": "run-s release:check release:version",
|
|
50
|
-
"release:check": "run-s
|
|
49
|
+
"release:check": "run-s build lint typecheck",
|
|
51
50
|
"release:version": "bumpp && npm publish",
|
|
52
51
|
"test": "vitest",
|
|
53
52
|
"typecheck": "tsc --noEmit"
|
|
@@ -61,24 +60,26 @@
|
|
|
61
60
|
"@eslint/markdown": "^6.2.1",
|
|
62
61
|
"@stylistic/eslint-plugin": "^2.12.1",
|
|
63
62
|
"@unocss/eslint-plugin": "^0.65.2",
|
|
64
|
-
"@vitest/eslint-plugin": "^1.1.
|
|
63
|
+
"@vitest/eslint-plugin": "^1.1.20",
|
|
65
64
|
"eslint-config-flat-gitignore": "^0.3.0",
|
|
66
65
|
"eslint-flat-config-utils": "^0.4.0",
|
|
67
66
|
"eslint-merge-processors": "^0.1.0",
|
|
68
67
|
"eslint-plugin-antfu": "^2.7.0",
|
|
69
68
|
"eslint-plugin-command": "^0.2.7",
|
|
69
|
+
"eslint-plugin-depend": "^0.12.0",
|
|
70
70
|
"eslint-plugin-es-x": "^8.4.1",
|
|
71
71
|
"eslint-plugin-format": "^0.1.3",
|
|
72
72
|
"eslint-plugin-github-action": "^0.0.12",
|
|
73
73
|
"eslint-plugin-import-x": "^4.6.1",
|
|
74
74
|
"eslint-plugin-jsdoc": "^50.6.1",
|
|
75
75
|
"eslint-plugin-jsonc": "^2.18.2",
|
|
76
|
-
"eslint-plugin-n": "^17.15.
|
|
76
|
+
"eslint-plugin-n": "^17.15.1",
|
|
77
77
|
"eslint-plugin-ntnyq": "^0.7.1",
|
|
78
|
-
"eslint-plugin-perfectionist": "^4.
|
|
78
|
+
"eslint-plugin-perfectionist": "^4.4.0",
|
|
79
79
|
"eslint-plugin-pinia": "^0.4.1",
|
|
80
80
|
"eslint-plugin-prettier": "^5.2.1",
|
|
81
81
|
"eslint-plugin-regexp": "^2.7.0",
|
|
82
|
+
"eslint-plugin-svgo": "^0.2.0",
|
|
82
83
|
"eslint-plugin-toml": "^0.12.0",
|
|
83
84
|
"eslint-plugin-unicorn": "^56.0.1",
|
|
84
85
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
@@ -97,18 +98,17 @@
|
|
|
97
98
|
"devDependencies": {
|
|
98
99
|
"@ntnyq/prettier-config": "^1.22.0",
|
|
99
100
|
"@types/node": "^22.10.2",
|
|
100
|
-
"bumpp": "^9.9.
|
|
101
|
+
"bumpp": "^9.9.2",
|
|
101
102
|
"eslint": "^9.17.0",
|
|
102
103
|
"eslint-typegen": "^0.3.2",
|
|
103
104
|
"husky": "^9.1.7",
|
|
104
105
|
"jiti": "^2.4.2",
|
|
105
106
|
"nano-staged": "^0.8.0",
|
|
106
107
|
"npm-run-all2": "^7.0.2",
|
|
107
|
-
"rimraf": "^6.0.1",
|
|
108
108
|
"tsup": "^8.3.5",
|
|
109
109
|
"tsx": "^4.19.2",
|
|
110
110
|
"typescript": "^5.7.2",
|
|
111
|
-
"vitest": "^3.0.0-beta.
|
|
111
|
+
"vitest": "^3.0.0-beta.3",
|
|
112
112
|
"zx": "^8.2.4"
|
|
113
113
|
},
|
|
114
114
|
"engines": {
|