@ntnyq/eslint-config 7.0.0-beta.8 → 7.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.mts +433 -374
  2. package/dist/index.mjs +86 -47
  3. package/package.json +18 -18
package/dist/index.mjs CHANGED
@@ -1410,9 +1410,7 @@ const configJsdoc = (options = {}) => {
1410
1410
  "jsdoc/require-next-description": "warn",
1411
1411
  "jsdoc/require-next-type": "warn",
1412
1412
  "jsdoc/require-throws-description": "warn",
1413
- "jsdoc/require-throws-type": "warn",
1414
1413
  "jsdoc/require-yields-description": "warn",
1415
- "jsdoc/require-yields-type": "warn",
1416
1414
  "jsdoc/ts-method-signature-style": "warn",
1417
1415
  "jsdoc/ts-no-empty-object-type": "warn",
1418
1416
  "jsdoc/ts-no-unnecessary-template-expression": "warn",
@@ -1469,9 +1467,9 @@ const configJsdoc = (options = {}) => {
1469
1467
  stringQuotes: "single",
1470
1468
  typeBracketSpacing: SPECIAL_CHAR.emptyString,
1471
1469
  unionSpacing: SPECIAL_CHAR.singleSpace
1472
- }]
1473
- },
1474
- ...options.overrides
1470
+ }],
1471
+ ...options.overrides
1472
+ }
1475
1473
  },
1476
1474
  {
1477
1475
  name: "ntnyq/jsdoc/js-rules",
@@ -1482,6 +1480,8 @@ const configJsdoc = (options = {}) => {
1482
1480
  "jsdoc/require-param-type": "error",
1483
1481
  "jsdoc/require-property-type": "error",
1484
1482
  "jsdoc/require-returns-type": "error",
1483
+ "jsdoc/require-throws-type": "error",
1484
+ "jsdoc/require-yields-type": "error",
1485
1485
  ...options.overrides
1486
1486
  }
1487
1487
  },
@@ -1493,6 +1493,8 @@ const configJsdoc = (options = {}) => {
1493
1493
  "jsdoc/require-param-type": "off",
1494
1494
  "jsdoc/require-property-type": "off",
1495
1495
  "jsdoc/require-returns-type": "off",
1496
+ "jsdoc/require-throws-type": "off",
1497
+ "jsdoc/require-yields-type": "off",
1496
1498
  "jsdoc/no-types": "error",
1497
1499
  ...options.overrides
1498
1500
  }
@@ -2002,66 +2004,51 @@ const configUnicorn = (options = {}) => {
2002
2004
  name: "ntnyq/unicorn",
2003
2005
  plugins: { unicorn: pluginUnicorn },
2004
2006
  rules: {
2007
+ /**
2008
+ * @pg Compatibility
2009
+ */
2005
2010
  "unicorn/explicit-length-check": "off",
2006
2011
  /**
2007
2012
  * @see https://caniuse.com/?search=globalThis
2008
2013
  */
2009
2014
  "unicorn/prefer-global-this": "off",
2010
2015
  "unicorn/prefer-top-level-await": "off",
2016
+ /**
2017
+ * @pg Assertion
2018
+ */
2011
2019
  "unicorn/consistent-assert": "error",
2012
- "unicorn/consistent-conditional-object-spread": ["error", "ternary"],
2013
- "unicorn/consistent-existence-index-check": "error",
2014
- "unicorn/consistent-json-file-read": "error",
2015
- "unicorn/error-message": "error",
2016
- "unicorn/escape-case": "error",
2020
+ /**
2021
+ * @pg Built-in
2022
+ */
2017
2023
  "unicorn/new-for-builtins": "error",
2018
- "unicorn/no-accessor-recursion": "error",
2019
- "unicorn/no-blob-to-file": "error",
2020
- "unicorn/no-canvas-to-image": "error",
2021
2024
  "unicorn/no-console-spaces": "error",
2022
- "unicorn/no-constant-zero-expression": "error",
2023
- "unicorn/no-double-comparison": "error",
2024
- "unicorn/no-for-loop": "error",
2025
- "unicorn/no-hex-escape": "error",
2026
- "unicorn/no-immediate-mutation": "error",
2027
2025
  "unicorn/no-instanceof-builtins": "error",
2028
- "unicorn/no-invalid-file-input-accept": "error",
2029
- "unicorn/no-late-current-target-access": "error",
2030
- "unicorn/no-lonely-if": "error",
2031
2026
  "unicorn/no-new-buffer": "error",
2027
+ "unicorn/no-typeof-undefined": "error",
2028
+ "unicorn/no-unnecessary-global-this": "error",
2029
+ /**
2030
+ * @pg Class
2031
+ */
2032
+ "unicorn/no-accessor-recursion": "error",
2032
2033
  "unicorn/no-static-only-class": "error",
2033
2034
  "unicorn/no-this-outside-of-class": "error",
2034
- "unicorn/no-typeof-undefined": "error",
2035
- "unicorn/no-unnecessary-await": "error",
2035
+ "unicorn/no-useless-override": "error",
2036
+ "unicorn/prefer-class-fields": "error",
2037
+ /**
2038
+ * @pg Control Flow
2039
+ */
2040
+ "unicorn/no-constant-zero-expression": "error",
2041
+ "unicorn/no-double-comparison": "error",
2042
+ "unicorn/no-for-loop": "error",
2043
+ "unicorn/no-lonely-if": "error",
2036
2044
  "unicorn/no-unnecessary-boolean-comparison": "error",
2037
- "unicorn/no-unnecessary-global-this": "error",
2038
2045
  "unicorn/no-unnecessary-nested-ternary": "error",
2039
- "unicorn/no-unsafe-property-key": "error",
2040
2046
  "unicorn/no-useless-boolean-cast": "error",
2041
2047
  "unicorn/no-useless-coercion": "error",
2042
2048
  "unicorn/no-useless-collection-argument": "error",
2043
2049
  "unicorn/no-useless-continue": "error",
2044
2050
  "unicorn/no-useless-else": "error",
2045
- "unicorn/no-useless-iterator-to-array": "error",
2046
- "unicorn/prefer-abort-signal-timeout": "error",
2047
- "unicorn/prefer-class-fields": "error",
2048
- "unicorn/prefer-import-meta-properties": "error",
2049
- "unicorn/prefer-includes": "error",
2050
- "unicorn/prefer-keyboard-event-key": "error",
2051
- "unicorn/prefer-math-min-max": "error",
2052
- "unicorn/prefer-math-trunc": "error",
2053
- "unicorn/prefer-modern-math-apis": "error",
2054
- "unicorn/prefer-negative-index": "error",
2055
- "unicorn/prefer-node-protocol": "error",
2056
- "unicorn/prefer-observer-apis": "error",
2057
- "unicorn/prefer-optional-catch-binding": "error",
2058
- "unicorn/prefer-prototype-methods": "error",
2059
- "unicorn/prefer-reflect-apply": "error",
2060
- "unicorn/prefer-response-static-json": "error",
2061
- "unicorn/prefer-single-array-predicate": "error",
2062
- "unicorn/prefer-single-object-destructuring": "error",
2063
- "unicorn/prefer-structured-clone": "error",
2064
- "unicorn/prefer-url-search-parameters": "error",
2051
+ "unicorn/prefer-block-statement-over-iife": "error",
2065
2052
  "unicorn/switch-case-braces": ["error", "avoid"],
2066
2053
  "unicorn/switch-case-break-position": "error",
2067
2054
  /**
@@ -2072,15 +2059,45 @@ const configUnicorn = (options = {}) => {
2072
2059
  ignore: ["^_."]
2073
2060
  }],
2074
2061
  "unicorn/custom-error-definition": "error",
2062
+ "unicorn/error-message": "error",
2075
2063
  "unicorn/no-useless-error-capture-stack-trace": "error",
2064
+ "unicorn/prefer-optional-catch-binding": "error",
2076
2065
  "unicorn/prefer-type-error": "error",
2077
2066
  "unicorn/throw-new-error": "error",
2078
2067
  /**
2068
+ * @pg Promise
2069
+ */
2070
+ "unicorn/no-async-promise-finally": "error",
2071
+ "unicorn/no-unnecessary-await": "error",
2072
+ "unicorn/no-unsafe-promise-all-settled-values": "error",
2073
+ /**
2074
+ * @pg Function
2075
+ */
2076
+ "unicorn/no-immediate-mutation": "error",
2077
+ "unicorn/prefer-prototype-methods": "error",
2078
+ "unicorn/prefer-reflect-apply": "error",
2079
+ /**
2080
+ * @pg Web APIs
2081
+ */
2082
+ "unicorn/no-blob-to-file": "error",
2083
+ "unicorn/no-canvas-to-image": "error",
2084
+ "unicorn/no-unnecessary-fetch-options": "error",
2085
+ "unicorn/prefer-abort-signal-any": "error",
2086
+ "unicorn/prefer-abort-signal-timeout": "error",
2087
+ "unicorn/prefer-keyboard-event-key": "error",
2088
+ "unicorn/prefer-observer-apis": "error",
2089
+ "unicorn/prefer-response-static-json": "error",
2090
+ "unicorn/prefer-url-search-parameters": "error",
2091
+ /**
2079
2092
  * @pg Number
2080
2093
  */
2081
2094
  "unicorn/no-zero-fractions": "error",
2082
2095
  "unicorn/number-literal-case": ["error", { hexadecimalValue: "lowercase" }],
2083
2096
  "unicorn/prefer-math-abs": "error",
2097
+ "unicorn/prefer-math-min-max": "error",
2098
+ "unicorn/prefer-math-trunc": "error",
2099
+ "unicorn/prefer-modern-math-apis": "error",
2100
+ "unicorn/prefer-negative-index": "error",
2084
2101
  "unicorn/prefer-number-coercion": "error",
2085
2102
  "unicorn/prefer-number-properties": "error",
2086
2103
  /**
@@ -2100,6 +2117,8 @@ const configUnicorn = (options = {}) => {
2100
2117
  * @pg String
2101
2118
  */
2102
2119
  "unicorn/consistent-template-literal-escape": "error",
2120
+ "unicorn/escape-case": "error",
2121
+ "unicorn/no-hex-escape": "error",
2103
2122
  "unicorn/no-unsafe-string-replacement": "error",
2104
2123
  "unicorn/prefer-code-point": "error",
2105
2124
  "unicorn/prefer-string-pad-start-end": "error",
@@ -2113,7 +2132,9 @@ const configUnicorn = (options = {}) => {
2113
2132
  "unicorn/better-dom-traversing": "error",
2114
2133
  "unicorn/dom-node-dataset": "error",
2115
2134
  "unicorn/no-incorrect-query-selector": "error",
2135
+ "unicorn/no-invalid-file-input-accept": "error",
2116
2136
  "unicorn/no-invalid-remove-event-listener": "error",
2137
+ "unicorn/no-late-current-target-access": "error",
2117
2138
  "unicorn/prefer-add-event-listener": "error",
2118
2139
  "unicorn/prefer-classlist-toggle": "error",
2119
2140
  "unicorn/prefer-dom-node-append": "error",
@@ -2146,12 +2167,19 @@ const configUnicorn = (options = {}) => {
2146
2167
  "unicorn/no-unused-array-method-return": "error",
2147
2168
  "unicorn/prefer-array-find": "error",
2148
2169
  "unicorn/prefer-array-flat-map": "error",
2170
+ "unicorn/prefer-array-from-range": "error",
2149
2171
  "unicorn/prefer-array-index-of": "error",
2150
2172
  "unicorn/prefer-array-some": "error",
2173
+ "unicorn/prefer-includes": "error",
2151
2174
  "unicorn/prefer-includes-over-repeated-comparisons": "error",
2175
+ "unicorn/prefer-single-array-predicate": "error",
2152
2176
  "unicorn/prefer-single-call": "error",
2153
2177
  "unicorn/require-array-join-separator": "error",
2154
2178
  /**
2179
+ * @pg Iterator
2180
+ */
2181
+ "unicorn/no-useless-iterator-to-array": "error",
2182
+ /**
2155
2183
  * @pg Set
2156
2184
  */
2157
2185
  "unicorn/no-duplicate-set-values": "error",
@@ -2161,15 +2189,25 @@ const configUnicorn = (options = {}) => {
2161
2189
  * @pg Map
2162
2190
  */
2163
2191
  "unicorn/prefer-has-check": "error",
2192
+ /**
2193
+ * @pg Object
2194
+ */
2195
+ "unicorn/consistent-conditional-object-spread": ["error", "ternary"],
2196
+ "unicorn/consistent-existence-index-check": "error",
2197
+ "unicorn/no-unsafe-property-key": "error",
2164
2198
  "unicorn/prefer-object-from-entries": "error",
2199
+ "unicorn/prefer-single-object-destructuring": "error",
2165
2200
  /**
2166
- * @pg Class
2201
+ * @pg Data
2167
2202
  */
2168
- "unicorn/no-useless-override": "error",
2203
+ "unicorn/consistent-json-file-read": "error",
2204
+ "unicorn/prefer-structured-clone": "error",
2169
2205
  /**
2170
2206
  * @pg Module
2171
2207
  */
2172
2208
  "unicorn/no-exports-in-scripts": "error",
2209
+ "unicorn/prefer-import-meta-properties": "error",
2210
+ "unicorn/prefer-node-protocol": "error",
2173
2211
  "unicorn/require-module-attributes": "error",
2174
2212
  "unicorn/require-module-specifiers": "error",
2175
2213
  ...options.overrides
@@ -3185,6 +3223,7 @@ const configUnusedImports = async (options = {}) => {
3185
3223
  plugins: { "unused-imports": await interopDefault(import("eslint-plugin-unused-imports")) },
3186
3224
  rules: {
3187
3225
  "@typescript-eslint/no-unused-vars": "off",
3226
+ "no-unused-vars": "off",
3188
3227
  "unused-imports/no-unused-imports": "error",
3189
3228
  "unused-imports/no-unused-vars": ["error", {
3190
3229
  args: "after-used",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "7.0.0-beta.8",
4
+ "version": "7.0.0-beta.9",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -88,9 +88,9 @@
88
88
  "@clack/prompts": "^1.6.0",
89
89
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
90
90
  "@eslint/js": "^10.0.1",
91
- "@eslint/markdown": "^8.0.2",
92
- "@ntnyq/utils": "^0.15.0",
93
- "@unocss/eslint-plugin": "^66.7.2",
91
+ "@eslint/markdown": "^8.0.3",
92
+ "@ntnyq/utils": "^0.16.0",
93
+ "@unocss/eslint-plugin": "^66.7.4",
94
94
  "@vitest/eslint-plugin": "^1.6.20",
95
95
  "eslint-config-flat-gitignore": "^2.3.0",
96
96
  "eslint-flat-config-utils": "^3.2.0",
@@ -102,20 +102,20 @@
102
102
  "eslint-plugin-de-morgan": "^2.1.2",
103
103
  "eslint-plugin-depend": "^1.5.0",
104
104
  "eslint-plugin-github-action": "^0.3.0",
105
- "eslint-plugin-import-x": "^4.17.0",
106
- "eslint-plugin-jsdoc": "^63.0.7",
105
+ "eslint-plugin-import-x": "^4.17.1",
106
+ "eslint-plugin-jsdoc": "^63.0.10",
107
107
  "eslint-plugin-jsonc": "^3.2.0",
108
- "eslint-plugin-n": "^18.1.0",
108
+ "eslint-plugin-n": "^18.2.1",
109
109
  "eslint-plugin-no-only-tests": "^3.4.0",
110
110
  "eslint-plugin-ntnyq": "^0.14.0",
111
- "eslint-plugin-oxfmt": "^0.11.0",
111
+ "eslint-plugin-oxfmt": "^0.12.0",
112
112
  "eslint-plugin-perfectionist": "^5.9.1",
113
113
  "eslint-plugin-pinia": "^0.4.2",
114
114
  "eslint-plugin-prettier": "^5.5.6",
115
- "eslint-plugin-regexp": "^3.1.0",
115
+ "eslint-plugin-regexp": "^3.1.1",
116
116
  "eslint-plugin-svgo": "^0.12.0",
117
117
  "eslint-plugin-toml": "^1.4.0",
118
- "eslint-plugin-unicorn": "^69.0.0",
118
+ "eslint-plugin-unicorn": "^70.0.0",
119
119
  "eslint-plugin-vue": "^10.9.2",
120
120
  "eslint-plugin-yml": "^3.5.0",
121
121
  "eslint-processor-vue-blocks": "^2.0.0",
@@ -123,25 +123,25 @@
123
123
  "jsonc-eslint-parser": "^3.1.0",
124
124
  "local-pkg": "^1.2.1",
125
125
  "toml-eslint-parser": "^1.0.3",
126
- "typescript-eslint": "^8.62.0",
126
+ "typescript-eslint": "^8.62.1",
127
127
  "vue-eslint-parser": "^10.4.1",
128
128
  "yaml-eslint-parser": "^2.0.0"
129
129
  },
130
130
  "devDependencies": {
131
- "@types/node": "^26.0.1",
132
- "@typescript-eslint/types": "^8.62.0",
133
- "@typescript-eslint/utils": "^8.62.0",
134
- "@typescript/native-preview": "^7.0.0-dev.20260624.1",
131
+ "@types/node": "^26.1.0",
132
+ "@typescript-eslint/types": "^8.62.1",
133
+ "@typescript-eslint/utils": "^8.62.1",
134
+ "@typescript/native-preview": "^7.0.0-dev.20260701.1",
135
135
  "bumpp": "^11.1.0",
136
136
  "consola": "^3.4.2",
137
- "eslint": "^10.5.0",
137
+ "eslint": "^10.6.0",
138
138
  "eslint-typegen": "^2.3.1",
139
139
  "husky": "^9.1.7",
140
140
  "jiti": "^2.7.0",
141
141
  "nano-staged": "^1.0.2",
142
142
  "npm-run-all2": "^9.0.2",
143
- "oxfmt": "^0.56.0",
144
- "prettier": "^3.8.4",
143
+ "oxfmt": "^0.57.0",
144
+ "prettier": "^3.9.4",
145
145
  "tinyglobby": "^0.2.17",
146
146
  "tsdown": "^0.22.3",
147
147
  "tsx": "^4.22.4",