@ntnyq/eslint-config 4.0.0-beta.6 → 4.0.0-beta.8

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
@@ -47,28 +47,28 @@ import { default as default8 } from "eslint-plugin-antfu";
47
47
  import { default as default9 } from "eslint-plugin-jsdoc";
48
48
  import { default as default10 } from "eslint-plugin-jsonc";
49
49
  import { default as default11 } from "eslint-plugin-pinia";
50
- import { default as default12 } from "eslint-plugin-format";
50
+ import { default as default12 } from "eslint-plugin-ntnyq";
51
+ import { default as default13 } from "eslint-plugin-format";
51
52
  import { plugin } from "typescript-eslint";
52
- import { default as default13 } from "@unocss/eslint-plugin";
53
- import { default as default14 } from "@vitest/eslint-plugin";
54
- import { default as default15 } from "eslint-plugin-unicorn";
55
- import { default as default16 } from "eslint-plugin-import-x";
56
- import { default as default17 } from "eslint-plugin-prettier";
57
- import { default as default18 } from "eslint-plugin-de-morgan";
58
- import { default as default19 } from "eslint-plugin-no-only-tests";
59
- import { default as default20 } from "eslint-plugin-github-action";
60
- import { default as default21 } from "eslint-plugin-perfectionist";
61
- import { default as default22 } from "eslint-plugin-unused-imports";
62
- import { default as default23 } from "@eslint-community/eslint-plugin-eslint-comments";
53
+ import { default as default14 } from "@unocss/eslint-plugin";
54
+ import { default as default15 } from "@vitest/eslint-plugin";
55
+ import { default as default16 } from "eslint-plugin-unicorn";
56
+ import { default as default17 } from "eslint-plugin-import-x";
57
+ import { default as default18 } from "eslint-plugin-prettier";
58
+ import { default as default19 } from "eslint-plugin-de-morgan";
59
+ import { default as default20 } from "eslint-plugin-no-only-tests";
60
+ import { default as default21 } from "eslint-plugin-github-action";
61
+ import { default as default22 } from "eslint-plugin-perfectionist";
62
+ import { default as default23 } from "eslint-plugin-unused-imports";
63
+ import { default as default24 } from "@eslint-community/eslint-plugin-eslint-comments";
63
64
 
64
65
  // src/eslint/resolvers.ts
65
66
  import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
66
- var createNodeResolver = default16.createNodeResolver;
67
+ var createNodeResolver = default17.createNodeResolver;
67
68
 
68
69
  // src/eslint/processors.ts
69
- import { mergeProcessors } from "eslint-merge-processors";
70
- import { processorPassThrough } from "eslint-merge-processors";
71
- import { default as default24 } from "eslint-processor-vue-blocks";
70
+ import { default as default25 } from "eslint-processor-vue-blocks";
71
+ import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
72
72
 
73
73
  // src/globs.ts
74
74
  var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
@@ -396,7 +396,7 @@ var configVue = (options = {}) => {
396
396
  if (!sfcBlocks) return processorVueSFC;
397
397
  return mergeProcessors2([
398
398
  processorVueSFC,
399
- default24({
399
+ default25({
400
400
  ...sfcBlocks,
401
401
  blocks: {
402
402
  styles: true,
@@ -991,18 +991,23 @@ var configSort = (options = {}) => {
991
991
  };
992
992
 
993
993
  // src/configs/svgo.ts
994
- import { createConfig as createSVGOConfig } from "eslint-plugin-svgo";
995
994
  var configSVGO = (options = {}) => {
996
- const { files = [GLOB_SVG], rules: overridesRules = {} } = options;
995
+ const { files = [GLOB_SVG], ignores = [] } = options;
997
996
  return [
998
- createSVGOConfig({
997
+ {
999
998
  name: "ntnyq/svgo",
1000
999
  files,
1000
+ ignores,
1001
+ plugins: {
1002
+ svgo: default5
1003
+ },
1004
+ languageOptions: {
1005
+ parser: parserPlain
1006
+ },
1001
1007
  rules: {
1002
- "svgo/svgo": "error",
1003
- ...overridesRules
1008
+ "svgo/svgo": "error"
1004
1009
  }
1005
- })
1010
+ }
1006
1011
  ];
1007
1012
  };
1008
1013
 
@@ -1120,7 +1125,7 @@ var configTest = (options = {}) => {
1120
1125
  {
1121
1126
  name: "ntnyq/test/setup",
1122
1127
  plugins: {
1123
- "no-only-tests": default19
1128
+ "no-only-tests": default20
1124
1129
  }
1125
1130
  },
1126
1131
  {
@@ -1140,10 +1145,33 @@ var configTest = (options = {}) => {
1140
1145
  name: "ntnyq/test/vitest",
1141
1146
  files,
1142
1147
  plugins: {
1143
- vitest: default14
1148
+ vitest: default15
1149
+ },
1150
+ settings: {
1151
+ /**
1152
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/tree/main?tab=readme-ov-file#enabling-with-type-testing
1153
+ */
1154
+ // https://github.com/vitest-dev/eslint-plugin-vitest/issues/664
1155
+ // vitest: {
1156
+ // typecheck: true,
1157
+ // },
1144
1158
  },
1145
1159
  rules: {
1146
- ...default14.configs.recommended.rules,
1160
+ ...default15.configs.recommended.rules,
1161
+ "vitest/expect-expect": [
1162
+ "error",
1163
+ {
1164
+ assertFunctionNames: [
1165
+ "expect",
1166
+ "assert",
1167
+ /**
1168
+ * type test
1169
+ */
1170
+ "expectTypeOf",
1171
+ "assertType"
1172
+ ]
1173
+ }
1174
+ ],
1147
1175
  // Overrides rules
1148
1176
  ...options.overridesVitestRules
1149
1177
  }
@@ -1353,17 +1381,18 @@ var configJsonc = (options = {}) => {
1353
1381
  };
1354
1382
 
1355
1383
  // src/configs/ntnyq.ts
1356
- import { createConfig as createNtnyqConfig } from "eslint-plugin-ntnyq";
1357
1384
  var configNtnyq = (options = {}) => [
1358
1385
  {
1359
- ...createNtnyqConfig({
1360
- rules: {
1361
- "ntnyq/prefer-newline-after-file-header": "error",
1362
- // Overrides rules
1363
- ...options.overrides
1364
- }
1365
- }),
1366
- name: "ntnyq/ntnyq"
1386
+ name: "ntnyq/ntnyq",
1387
+ plugins: {
1388
+ ntnyq: default12
1389
+ },
1390
+ rules: {
1391
+ "ntnyq/no-duplicate-exports": "error",
1392
+ "ntnyq/prefer-newline-after-file-header": "error",
1393
+ // Overrides rules
1394
+ ...options.overrides
1395
+ }
1367
1396
  }
1368
1397
  ];
1369
1398
 
@@ -1602,7 +1631,7 @@ var configFormat = (options = {}) => {
1602
1631
  {
1603
1632
  name: "ntnyq/format/setup",
1604
1633
  plugins: {
1605
- format: default12
1634
+ format: default13
1606
1635
  }
1607
1636
  }
1608
1637
  ];
@@ -1706,7 +1735,7 @@ var configUnoCSS = (options = {}) => [
1706
1735
  {
1707
1736
  name: "ntnyq/unocss",
1708
1737
  plugins: {
1709
- unocss: default13
1738
+ unocss: default14
1710
1739
  },
1711
1740
  rules: {
1712
1741
  "unocss/order-attributify": options.attributify ? "error" : "off",
@@ -1810,7 +1839,7 @@ var configImportX = (options = {}) => {
1810
1839
  {
1811
1840
  name: "ntnyq/import-x",
1812
1841
  plugins: {
1813
- "import-x": default16
1842
+ "import-x": default17
1814
1843
  },
1815
1844
  settings: {
1816
1845
  "import-x/resolver-next": [
@@ -1868,32 +1897,24 @@ var configUnicorn = (options = {}) => [
1868
1897
  {
1869
1898
  name: "ntnyq/unicorn",
1870
1899
  plugins: {
1871
- unicorn: default15
1900
+ unicorn: default16
1872
1901
  },
1873
1902
  rules: {
1874
- "unicorn/catch-error-name": [
1875
- "error",
1876
- {
1877
- name: "err",
1878
- ignore: ["^_."]
1879
- }
1880
- ],
1903
+ "unicorn/consistent-assert": "error",
1881
1904
  "unicorn/consistent-existence-index-check": "error",
1882
- "unicorn/custom-error-definition": "error",
1883
1905
  "unicorn/error-message": "error",
1884
1906
  "unicorn/escape-case": "error",
1885
1907
  "unicorn/new-for-builtins": "error",
1908
+ "unicorn/no-accessor-recursion": "error",
1886
1909
  "unicorn/no-console-spaces": "error",
1887
1910
  "unicorn/no-for-loop": "error",
1888
1911
  "unicorn/no-hex-escape": "error",
1912
+ "unicorn/no-instanceof-builtins": "error",
1889
1913
  "unicorn/no-lonely-if": "error",
1890
1914
  "unicorn/no-new-buffer": "error",
1891
1915
  "unicorn/no-static-only-class": "error",
1892
1916
  "unicorn/no-typeof-undefined": "error",
1893
1917
  "unicorn/no-unnecessary-await": "error",
1894
- "unicorn/no-zero-fractions": "error",
1895
- "unicorn/number-literal-case": "error",
1896
- "unicorn/prefer-date-now": "error",
1897
1918
  "unicorn/prefer-includes": "error",
1898
1919
  "unicorn/prefer-keyboard-event-key": "error",
1899
1920
  "unicorn/prefer-math-min-max": "error",
@@ -1901,15 +1922,39 @@ var configUnicorn = (options = {}) => [
1901
1922
  "unicorn/prefer-modern-math-apis": "error",
1902
1923
  "unicorn/prefer-negative-index": "error",
1903
1924
  "unicorn/prefer-node-protocol": "error",
1904
- "unicorn/prefer-number-properties": "error",
1905
1925
  "unicorn/prefer-optional-catch-binding": "error",
1906
1926
  "unicorn/prefer-prototype-methods": "error",
1907
1927
  "unicorn/prefer-reflect-apply": "error",
1908
- "unicorn/prefer-regexp-test": "error",
1909
1928
  "unicorn/prefer-structured-clone": "error",
1910
- "unicorn/prefer-type-error": "error",
1911
1929
  "unicorn/switch-case-braces": ["error", "avoid"],
1930
+ /**
1931
+ * @pg Error
1932
+ */
1933
+ "unicorn/catch-error-name": [
1934
+ "error",
1935
+ {
1936
+ name: "err",
1937
+ ignore: ["^_."]
1938
+ }
1939
+ ],
1940
+ "unicorn/custom-error-definition": "error",
1941
+ "unicorn/prefer-type-error": "error",
1912
1942
  "unicorn/throw-new-error": "error",
1943
+ /**
1944
+ * @pg Number
1945
+ */
1946
+ "unicorn/no-zero-fractions": "error",
1947
+ "unicorn/number-literal-case": "error",
1948
+ "unicorn/prefer-number-properties": "error",
1949
+ /**
1950
+ * @pg RegExp
1951
+ */
1952
+ "unicorn/prefer-regexp-test": "error",
1953
+ /**
1954
+ * @pg Date
1955
+ */
1956
+ "unicorn/consistent-date-clone": "error",
1957
+ "unicorn/prefer-date-now": "error",
1913
1958
  /**
1914
1959
  * @pg String
1915
1960
  */
@@ -1933,7 +1978,6 @@ var configUnicorn = (options = {}) => [
1933
1978
  */
1934
1979
  "unicorn/no-array-method-this-argument": "error",
1935
1980
  "unicorn/no-array-push-push": "error",
1936
- "unicorn/no-instanceof-array": "error",
1937
1981
  "unicorn/no-new-array": "error",
1938
1982
  "unicorn/prefer-array-find": "error",
1939
1983
  "unicorn/prefer-array-flat-map": "error",
@@ -1955,10 +1999,10 @@ var configUnicorn = (options = {}) => [
1955
1999
  // src/configs/deMorgan.ts
1956
2000
  var configDeMorgan = (options = {}) => [
1957
2001
  {
1958
- ...default18.configs.recommended,
2002
+ ...default19.configs.recommended,
1959
2003
  name: "ntnyq/de-morgan",
1960
2004
  rules: {
1961
- ...default18.configs.recommended.rules,
2005
+ ...default19.configs.recommended.rules,
1962
2006
  // Overrides rules
1963
2007
  ...options.overrides
1964
2008
  }
@@ -2064,7 +2108,7 @@ var configPrettier = (options = {}) => {
2064
2108
  {
2065
2109
  name: "ntnyq/prettier",
2066
2110
  plugins: {
2067
- prettier: default17
2111
+ prettier: default18
2068
2112
  },
2069
2113
  rules: {
2070
2114
  "vue/array-bracket-newline": "off",
@@ -2104,7 +2148,7 @@ var configPrettier = (options = {}) => {
2104
2148
  "vue/space-infix-ops": "off",
2105
2149
  "vue/space-unary-ops": "off",
2106
2150
  "vue/template-curly-spacing": "off",
2107
- ...default17.configs.recommended.rules,
2151
+ ...default18.configs.recommended.rules,
2108
2152
  "prettier/prettier": options.severity || "warn",
2109
2153
  // Overrides rules
2110
2154
  ...options.overrides
@@ -2117,7 +2161,7 @@ var configPrettier = (options = {}) => {
2117
2161
  name: "ntnyq/prettier/disabled",
2118
2162
  files: [...disabledFiles, ...userDisabledFiles],
2119
2163
  plugins: {
2120
- prettier: default17
2164
+ prettier: default18
2121
2165
  },
2122
2166
  rules: {
2123
2167
  "prettier/prettier": "off"
@@ -2177,8 +2221,8 @@ var configSpecials = (options = {}) => {
2177
2221
  name: "ntnyq/specials/config-file",
2178
2222
  files: [`**/*.config*.${GLOB_SRC_EXT}`],
2179
2223
  plugins: {
2180
- "import-x": default16,
2181
- perfectionist: default21
2224
+ "import-x": default17,
2225
+ perfectionist: default22
2182
2226
  },
2183
2227
  rules: {
2184
2228
  "@typescript-eslint/explicit-function-return-type": "off",
@@ -2917,7 +2961,7 @@ var configPerfectionist = (options = {}) => {
2917
2961
  {
2918
2962
  name: options.all ? "ntnyq/perfectionist/all" : "ntnyq/perfectionist/common",
2919
2963
  plugins: {
2920
- perfectionist: default21
2964
+ perfectionist: default22
2921
2965
  },
2922
2966
  rules: {
2923
2967
  ...commonRules,
@@ -2941,7 +2985,7 @@ var configPerfectionist = (options = {}) => {
2941
2985
  name: "ntnyq/perfectionist/enums",
2942
2986
  files: [`**/enums/${GLOB_SRC}`, `**/enums.${GLOB_SRC_EXT}`],
2943
2987
  plugins: {
2944
- perfectionist: default21
2988
+ perfectionist: default22
2945
2989
  },
2946
2990
  rules: {
2947
2991
  ...sharedRules2,
@@ -2956,7 +3000,7 @@ var configPerfectionist = (options = {}) => {
2956
3000
  name: "ntnyq/perfectionist/types",
2957
3001
  files: [...GLOB_TYPES],
2958
3002
  plugins: {
2959
- perfectionist: default21
3003
+ perfectionist: default22
2960
3004
  },
2961
3005
  rules: {
2962
3006
  ...sharedRules2,
@@ -2971,7 +3015,7 @@ var configPerfectionist = (options = {}) => {
2971
3015
  name: "ntnyq/perfectionist/constants",
2972
3016
  files: [`**/constants/${GLOB_SRC}`, `**/constants.${GLOB_SRC_EXT}`],
2973
3017
  plugins: {
2974
- perfectionist: default21
3018
+ perfectionist: default22
2975
3019
  },
2976
3020
  rules: {
2977
3021
  ...sharedRules2,
@@ -2989,7 +3033,7 @@ var configUnusedImports = (options = {}) => [
2989
3033
  {
2990
3034
  name: "ntnyq/unused-imports",
2991
3035
  plugins: {
2992
- "unused-imports": default22
3036
+ "unused-imports": default23
2993
3037
  },
2994
3038
  rules: {
2995
3039
  "@typescript-eslint/no-unused-vars": "off",
@@ -3018,10 +3062,10 @@ var configESLintComments = (options = {}) => [
3018
3062
  {
3019
3063
  name: "ntnyq/eslint-comments",
3020
3064
  plugins: {
3021
- "@eslint-community/eslint-comments": default23
3065
+ "@eslint-community/eslint-comments": default24
3022
3066
  },
3023
3067
  rules: {
3024
- ...default23.configs.recommended.rules,
3068
+ ...default24.configs.recommended.rules,
3025
3069
  "@eslint-community/eslint-comments/disable-enable-pair": [
3026
3070
  "error",
3027
3071
  { allowWholeFile: true }
@@ -3366,32 +3410,33 @@ export {
3366
3410
  parserVue,
3367
3411
  parserYaml,
3368
3412
  default8 as pluginAntfu,
3369
- default23 as pluginComments,
3370
- default18 as pluginDeMorgan,
3413
+ default24 as pluginComments,
3414
+ default19 as pluginDeMorgan,
3371
3415
  pluginDepend,
3372
- default12 as pluginFormat,
3373
- default20 as pluginGitHubAction,
3374
- default16 as pluginImportX,
3416
+ default13 as pluginFormat,
3417
+ default21 as pluginGitHubAction,
3418
+ default17 as pluginImportX,
3375
3419
  default9 as pluginJsdoc,
3376
3420
  default10 as pluginJsonc,
3377
3421
  default7 as pluginMarkdown,
3378
- default19 as pluginNoOnlyTests,
3422
+ default20 as pluginNoOnlyTests,
3379
3423
  default2 as pluginNode,
3380
- default21 as pluginPerfectionist,
3424
+ default12 as pluginNtnyq,
3425
+ default22 as pluginPerfectionist,
3381
3426
  default11 as pluginPinia,
3382
- default17 as pluginPrettier,
3427
+ default18 as pluginPrettier,
3383
3428
  pluginRegexp,
3384
3429
  default5 as pluginSvgo,
3385
3430
  default6 as pluginToml,
3386
3431
  plugin as pluginTypeScript,
3387
- default15 as pluginUnicorn,
3388
- default13 as pluginUnoCSS,
3389
- default22 as pluginUnusedImports,
3390
- default14 as pluginVitest,
3432
+ default16 as pluginUnicorn,
3433
+ default14 as pluginUnoCSS,
3434
+ default23 as pluginUnusedImports,
3435
+ default15 as pluginVitest,
3391
3436
  default3 as pluginVue,
3392
3437
  default4 as pluginYml,
3393
3438
  processorPassThrough,
3394
- default24 as processorVueBlocks,
3439
+ default25 as processorVueBlocks,
3395
3440
  resolveSubOptions,
3396
3441
  toArray
3397
3442
  };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.6",
5
- "packageManager": "pnpm@10.4.0",
4
+ "version": "4.0.0-beta.8",
5
+ "packageManager": "pnpm@10.4.1",
6
6
  "description": "An opinionated ESLint config preset of ntnyq",
7
7
  "keywords": [
8
8
  "eslint",
@@ -54,7 +54,7 @@
54
54
  "typecheck": "tsc --noEmit"
55
55
  },
56
56
  "peerDependencies": {
57
- "eslint": "^9.5.0",
57
+ "eslint": "^9.20.0",
58
58
  "eslint-plugin-eslint-plugin": "^6.4.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
@@ -68,11 +68,11 @@
68
68
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
69
69
  "@eslint/js": "^9.20.0",
70
70
  "@eslint/markdown": "^6.2.2",
71
- "@unocss/eslint-plugin": "^65.5.0",
71
+ "@unocss/eslint-plugin": "^66.0.0",
72
72
  "@vitest/eslint-plugin": "^1.1.31",
73
- "eslint-config-flat-gitignore": "^2.0.0",
73
+ "eslint-config-flat-gitignore": "^2.1.0",
74
74
  "eslint-flat-config-utils": "^2.0.1",
75
- "eslint-import-resolver-typescript": "^3.8.0",
75
+ "eslint-import-resolver-typescript": "^3.8.2",
76
76
  "eslint-merge-processors": "^2.0.0",
77
77
  "eslint-plugin-antfu": "^3.1.0",
78
78
  "eslint-plugin-command": "^3.1.0",
@@ -92,17 +92,17 @@
92
92
  "eslint-plugin-regexp": "^2.7.0",
93
93
  "eslint-plugin-svgo": "^0.5.2",
94
94
  "eslint-plugin-toml": "^0.12.0",
95
- "eslint-plugin-unicorn": "^56.0.1",
95
+ "eslint-plugin-unicorn": "^57.0.0",
96
96
  "eslint-plugin-unused-imports": "^4.1.4",
97
97
  "eslint-plugin-vue": "^9.32.0",
98
- "eslint-plugin-yml": "^1.16.0",
98
+ "eslint-plugin-yml": "^1.17.0",
99
99
  "eslint-processor-vue-blocks": "^2.0.0",
100
100
  "globals": "^15.15.0",
101
101
  "jsonc-eslint-parser": "^2.4.0",
102
102
  "local-pkg": "^1.0.0",
103
103
  "prettier": "^3.5.1",
104
104
  "toml-eslint-parser": "^0.10.0",
105
- "typescript-eslint": "^8.24.0",
105
+ "typescript-eslint": "^8.24.1",
106
106
  "vue-eslint-parser": "^9.4.3",
107
107
  "yaml-eslint-parser": "^1.2.3"
108
108
  },
@@ -112,7 +112,7 @@
112
112
  "bumpp": "^10.0.3",
113
113
  "eslint": "^9.20.1",
114
114
  "eslint-plugin-eslint-plugin": "^6.4.0",
115
- "eslint-typegen": "^1.0.0",
115
+ "eslint-typegen": "^2.0.0",
116
116
  "husky": "^9.1.7",
117
117
  "jiti": "^2.4.2",
118
118
  "nano-staged": "^0.8.0",
@@ -120,7 +120,7 @@
120
120
  "tsup": "^8.3.6",
121
121
  "tsx": "^4.19.2",
122
122
  "typescript": "^5.7.3",
123
- "vitest": "^3.0.5"
123
+ "vitest": "^3.0.6"
124
124
  },
125
125
  "engines": {
126
126
  "node": ">=18.18.0"
@@ -128,13 +128,19 @@
128
128
  "pnpm": {
129
129
  "onlyBuiltDependencies": [
130
130
  "esbuild"
131
- ],
132
- "overrides": {
133
- "esbuild": "^0.25.0"
134
- }
131
+ ]
132
+ },
133
+ "resolutions": {
134
+ "@shikijs/core": "^3.0.0",
135
+ "@shikijs/markdown-it": "^3.0.0",
136
+ "@shikijs/rehype": "^3.0.0",
137
+ "@shikijs/transformers": "^3.0.0",
138
+ "@shikijs/types": "^3.0.0",
139
+ "esbuild": "^0.25.0",
140
+ "shiki": "^3.0.0"
135
141
  },
136
142
  "nano-staged": {
137
- "*.{js,ts,mjs,cjs,vue,svg,json,jsonc,md,yaml,yml}": "eslint --fix",
143
+ "*.{js,ts,mjs,cjs,md,vue,svg,yml,yaml,json}": "eslint --fix",
138
144
  "*.{css,scss,html}": "prettier -uw"
139
145
  }
140
146
  }