@ntnyq/eslint-config 7.0.0-beta.7 → 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 +497 -368
  2. package/dist/index.mjs +87 -44
  3. package/package.json +20 -20
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,63 +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-class-fields": "error",
2047
- "unicorn/prefer-import-meta-properties": "error",
2048
- "unicorn/prefer-includes": "error",
2049
- "unicorn/prefer-keyboard-event-key": "error",
2050
- "unicorn/prefer-math-min-max": "error",
2051
- "unicorn/prefer-math-trunc": "error",
2052
- "unicorn/prefer-modern-math-apis": "error",
2053
- "unicorn/prefer-negative-index": "error",
2054
- "unicorn/prefer-node-protocol": "error",
2055
- "unicorn/prefer-optional-catch-binding": "error",
2056
- "unicorn/prefer-prototype-methods": "error",
2057
- "unicorn/prefer-reflect-apply": "error",
2058
- "unicorn/prefer-response-static-json": "error",
2059
- "unicorn/prefer-single-array-predicate": "error",
2060
- "unicorn/prefer-single-object-destructuring": "error",
2061
- "unicorn/prefer-structured-clone": "error",
2051
+ "unicorn/prefer-block-statement-over-iife": "error",
2062
2052
  "unicorn/switch-case-braces": ["error", "avoid"],
2063
2053
  "unicorn/switch-case-break-position": "error",
2064
2054
  /**
@@ -2069,15 +2059,45 @@ const configUnicorn = (options = {}) => {
2069
2059
  ignore: ["^_."]
2070
2060
  }],
2071
2061
  "unicorn/custom-error-definition": "error",
2062
+ "unicorn/error-message": "error",
2072
2063
  "unicorn/no-useless-error-capture-stack-trace": "error",
2064
+ "unicorn/prefer-optional-catch-binding": "error",
2073
2065
  "unicorn/prefer-type-error": "error",
2074
2066
  "unicorn/throw-new-error": "error",
2075
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
+ /**
2076
2092
  * @pg Number
2077
2093
  */
2078
2094
  "unicorn/no-zero-fractions": "error",
2079
2095
  "unicorn/number-literal-case": ["error", { hexadecimalValue: "lowercase" }],
2080
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",
2081
2101
  "unicorn/prefer-number-coercion": "error",
2082
2102
  "unicorn/prefer-number-properties": "error",
2083
2103
  /**
@@ -2097,6 +2117,8 @@ const configUnicorn = (options = {}) => {
2097
2117
  * @pg String
2098
2118
  */
2099
2119
  "unicorn/consistent-template-literal-escape": "error",
2120
+ "unicorn/escape-case": "error",
2121
+ "unicorn/no-hex-escape": "error",
2100
2122
  "unicorn/no-unsafe-string-replacement": "error",
2101
2123
  "unicorn/prefer-code-point": "error",
2102
2124
  "unicorn/prefer-string-pad-start-end": "error",
@@ -2110,7 +2132,9 @@ const configUnicorn = (options = {}) => {
2110
2132
  "unicorn/better-dom-traversing": "error",
2111
2133
  "unicorn/dom-node-dataset": "error",
2112
2134
  "unicorn/no-incorrect-query-selector": "error",
2135
+ "unicorn/no-invalid-file-input-accept": "error",
2113
2136
  "unicorn/no-invalid-remove-event-listener": "error",
2137
+ "unicorn/no-late-current-target-access": "error",
2114
2138
  "unicorn/prefer-add-event-listener": "error",
2115
2139
  "unicorn/prefer-classlist-toggle": "error",
2116
2140
  "unicorn/prefer-dom-node-append": "error",
@@ -2118,6 +2142,7 @@ const configUnicorn = (options = {}) => {
2118
2142
  "unicorn/prefer-dom-node-text-content": "error",
2119
2143
  "unicorn/prefer-modern-dom-apis": "error",
2120
2144
  "unicorn/prefer-query-selector": "error",
2145
+ "unicorn/prefer-toggle-attribute": "error",
2121
2146
  /**
2122
2147
  * @pg Array
2123
2148
  */
@@ -2142,12 +2167,19 @@ const configUnicorn = (options = {}) => {
2142
2167
  "unicorn/no-unused-array-method-return": "error",
2143
2168
  "unicorn/prefer-array-find": "error",
2144
2169
  "unicorn/prefer-array-flat-map": "error",
2170
+ "unicorn/prefer-array-from-range": "error",
2145
2171
  "unicorn/prefer-array-index-of": "error",
2146
2172
  "unicorn/prefer-array-some": "error",
2173
+ "unicorn/prefer-includes": "error",
2147
2174
  "unicorn/prefer-includes-over-repeated-comparisons": "error",
2175
+ "unicorn/prefer-single-array-predicate": "error",
2148
2176
  "unicorn/prefer-single-call": "error",
2149
2177
  "unicorn/require-array-join-separator": "error",
2150
2178
  /**
2179
+ * @pg Iterator
2180
+ */
2181
+ "unicorn/no-useless-iterator-to-array": "error",
2182
+ /**
2151
2183
  * @pg Set
2152
2184
  */
2153
2185
  "unicorn/no-duplicate-set-values": "error",
@@ -2157,15 +2189,25 @@ const configUnicorn = (options = {}) => {
2157
2189
  * @pg Map
2158
2190
  */
2159
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",
2160
2198
  "unicorn/prefer-object-from-entries": "error",
2199
+ "unicorn/prefer-single-object-destructuring": "error",
2161
2200
  /**
2162
- * @pg Class
2201
+ * @pg Data
2163
2202
  */
2164
- "unicorn/no-useless-override": "error",
2203
+ "unicorn/consistent-json-file-read": "error",
2204
+ "unicorn/prefer-structured-clone": "error",
2165
2205
  /**
2166
2206
  * @pg Module
2167
2207
  */
2168
2208
  "unicorn/no-exports-in-scripts": "error",
2209
+ "unicorn/prefer-import-meta-properties": "error",
2210
+ "unicorn/prefer-node-protocol": "error",
2169
2211
  "unicorn/require-module-attributes": "error",
2170
2212
  "unicorn/require-module-specifiers": "error",
2171
2213
  ...options.overrides
@@ -3181,6 +3223,7 @@ const configUnusedImports = async (options = {}) => {
3181
3223
  plugins: { "unused-imports": await interopDefault(import("eslint-plugin-unused-imports")) },
3182
3224
  rules: {
3183
3225
  "@typescript-eslint/no-unused-vars": "off",
3226
+ "no-unused-vars": "off",
3184
3227
  "unused-imports/no-unused-imports": "error",
3185
3228
  "unused-imports/no-unused-vars": ["error", {
3186
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.7",
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,46 +102,46 @@
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.16.2",
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.10.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": "^68.0.0",
118
+ "eslint-plugin-unicorn": "^70.0.0",
119
119
  "eslint-plugin-vue": "^10.9.2",
120
- "eslint-plugin-yml": "^3.4.0",
120
+ "eslint-plugin-yml": "^3.5.0",
121
121
  "eslint-processor-vue-blocks": "^2.0.0",
122
- "globals": "^17.6.0",
122
+ "globals": "^17.7.0",
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.61.1",
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.0",
132
- "@typescript-eslint/types": "^8.61.1",
133
- "@typescript-eslint/utils": "^8.61.1",
134
- "@typescript/native-preview": "^7.0.0-dev.20260621.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.55.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",