@ntnyq/eslint-config 5.4.1 → 5.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.
Files changed (3) hide show
  1. package/dist/index.d.ts +219 -143
  2. package/dist/index.js +106 -87
  3. package/package.json +18 -19
package/dist/index.js CHANGED
@@ -162,7 +162,7 @@ const sharedRules = {
162
162
  ...pluginVue.configs["strongly-recommended"].rules,
163
163
  ...pluginVue.configs.recommended.rules
164
164
  };
165
- const disabledRules$1 = {
165
+ const disabledRules = {
166
166
  "vue/multi-word-component-names": "off",
167
167
  "vue/no-setup-props-reactivity-loss": "off",
168
168
  "vue/no-v-html": "off",
@@ -448,7 +448,7 @@ const configVue = (options = {}) => {
448
448
  "shorthand",
449
449
  { sameNameShorthand: "always" }
450
450
  ],
451
- ...disabledRules$1,
451
+ ...disabledRules,
452
452
  ...extensionRules,
453
453
  ...unCategorizedRules,
454
454
  ...options.overrides
@@ -2046,15 +2046,14 @@ const configImportX = (options = {}) => {
2046
2046
 
2047
2047
  //#endregion
2048
2048
  //#region src/configs/unicorn.ts
2049
- const disabledRules = {
2050
- "unicorn/better-regex": "off",
2051
- "unicorn/explicit-length-check": "off",
2052
- "unicorn/no-array-callback-reference": "off",
2053
- "unicorn/no-array-reverse": "off",
2054
- "unicorn/prefer-global-this": "off",
2055
- "unicorn/prefer-top-level-await": "off",
2056
- "unicorn/require-module-specifiers": "off"
2057
- };
2049
+ /**
2050
+ * Built-in presets of `eslint-plugin-unicorn`
2051
+ */
2052
+ const PLUGIN_UNICORN_PRESET = [
2053
+ "all",
2054
+ "recommended",
2055
+ "unopinionated"
2056
+ ];
2058
2057
  /**
2059
2058
  * Config for powerful rules
2060
2059
  *
@@ -2063,82 +2062,102 @@ const disabledRules = {
2063
2062
  * @param options - {@link ConfigUnicornOptions}
2064
2063
  * @returns ESLint configs
2065
2064
  */
2066
- const configUnicorn = (options = {}) => [{
2067
- name: "ntnyq/unicorn",
2068
- plugins: { unicorn: pluginUnicorn },
2069
- rules: {
2070
- "unicorn/consistent-assert": "error",
2071
- "unicorn/consistent-existence-index-check": "error",
2072
- "unicorn/error-message": "error",
2073
- "unicorn/escape-case": "error",
2074
- "unicorn/new-for-builtins": "error",
2075
- "unicorn/no-accessor-recursion": "error",
2076
- "unicorn/no-console-spaces": "error",
2077
- "unicorn/no-for-loop": "error",
2078
- "unicorn/no-hex-escape": "error",
2079
- "unicorn/no-instanceof-builtins": "error",
2080
- "unicorn/no-lonely-if": "error",
2081
- "unicorn/no-new-buffer": "error",
2082
- "unicorn/no-static-only-class": "error",
2083
- "unicorn/no-typeof-undefined": "error",
2084
- "unicorn/no-unnecessary-await": "error",
2085
- "unicorn/prefer-class-fields": "error",
2086
- "unicorn/prefer-import-meta-properties": "error",
2087
- "unicorn/prefer-includes": "error",
2088
- "unicorn/prefer-keyboard-event-key": "error",
2089
- "unicorn/prefer-math-min-max": "error",
2090
- "unicorn/prefer-math-trunc": "error",
2091
- "unicorn/prefer-modern-math-apis": "error",
2092
- "unicorn/prefer-negative-index": "error",
2093
- "unicorn/prefer-node-protocol": "error",
2094
- "unicorn/prefer-optional-catch-binding": "error",
2095
- "unicorn/prefer-prototype-methods": "error",
2096
- "unicorn/prefer-reflect-apply": "error",
2097
- "unicorn/prefer-structured-clone": "error",
2098
- "unicorn/switch-case-braces": ["error", "avoid"],
2099
- "unicorn/catch-error-name": ["error", {
2100
- name: "err",
2101
- ignore: ["^_."]
2102
- }],
2103
- "unicorn/custom-error-definition": "error",
2104
- "unicorn/no-useless-error-capture-stack-trace": "error",
2105
- "unicorn/prefer-type-error": "error",
2106
- "unicorn/throw-new-error": "error",
2107
- "unicorn/no-zero-fractions": "error",
2108
- "unicorn/number-literal-case": "error",
2109
- "unicorn/prefer-number-properties": "error",
2110
- "unicorn/prefer-regexp-test": "error",
2111
- "unicorn/consistent-date-clone": "error",
2112
- "unicorn/prefer-date-now": "error",
2113
- "unicorn/prefer-code-point": "error",
2114
- "unicorn/prefer-string-slice": "error",
2115
- "unicorn/prefer-string-starts-ends-with": "error",
2116
- "unicorn/prefer-string-trim-start-end": "error",
2117
- "unicorn/no-invalid-remove-event-listener": "error",
2118
- "unicorn/prefer-add-event-listener": "error",
2119
- "unicorn/prefer-dom-node-append": "error",
2120
- "unicorn/prefer-dom-node-dataset": "error",
2121
- "unicorn/prefer-dom-node-remove": "error",
2122
- "unicorn/prefer-dom-node-text-content": "error",
2123
- "unicorn/prefer-modern-dom-apis": "error",
2124
- "unicorn/prefer-query-selector": "error",
2125
- "unicorn/no-array-method-this-argument": "error",
2126
- "unicorn/no-new-array": "error",
2127
- "unicorn/no-unnecessary-array-flat-depth": "error",
2128
- "unicorn/no-unnecessary-array-splice-count": "error",
2129
- "unicorn/no-unnecessary-slice-end": "error",
2130
- "unicorn/prefer-array-find": "error",
2131
- "unicorn/prefer-array-flat-map": "error",
2132
- "unicorn/prefer-array-index-of": "error",
2133
- "unicorn/prefer-array-some": "error",
2134
- "unicorn/prefer-single-call": "error",
2135
- "unicorn/require-array-join-separator": "error",
2136
- "unicorn/prefer-set-has": "error",
2137
- "unicorn/prefer-set-size": "error",
2138
- ...disabledRules,
2139
- ...options.overrides
2140
- }
2141
- }];
2065
+ const configUnicorn = (options = {}) => {
2066
+ if (options.preset && PLUGIN_UNICORN_PRESET.includes(options.preset)) return [{
2067
+ name: `ntnyq/unicorn/${options.preset}`,
2068
+ plugins: { unicorn: pluginUnicorn },
2069
+ rules: {
2070
+ ...pluginUnicorn.configs[options.preset].rules,
2071
+ ...options.overrides
2072
+ }
2073
+ }];
2074
+ return [{
2075
+ name: "ntnyq/unicorn",
2076
+ plugins: { unicorn: pluginUnicorn },
2077
+ rules: {
2078
+ "unicorn/explicit-length-check": "off",
2079
+ "unicorn/prefer-global-this": "off",
2080
+ "unicorn/prefer-top-level-await": "off",
2081
+ "unicorn/consistent-assert": "error",
2082
+ "unicorn/consistent-existence-index-check": "error",
2083
+ "unicorn/error-message": "error",
2084
+ "unicorn/escape-case": "error",
2085
+ "unicorn/new-for-builtins": "error",
2086
+ "unicorn/no-accessor-recursion": "error",
2087
+ "unicorn/no-console-spaces": "error",
2088
+ "unicorn/no-for-loop": "error",
2089
+ "unicorn/no-hex-escape": "error",
2090
+ "unicorn/no-instanceof-builtins": "error",
2091
+ "unicorn/no-lonely-if": "error",
2092
+ "unicorn/no-new-buffer": "error",
2093
+ "unicorn/no-static-only-class": "error",
2094
+ "unicorn/no-typeof-undefined": "error",
2095
+ "unicorn/no-unnecessary-await": "error",
2096
+ "unicorn/prefer-class-fields": "error",
2097
+ "unicorn/prefer-import-meta-properties": "error",
2098
+ "unicorn/prefer-includes": "error",
2099
+ "unicorn/prefer-keyboard-event-key": "error",
2100
+ "unicorn/prefer-math-min-max": "error",
2101
+ "unicorn/prefer-math-trunc": "error",
2102
+ "unicorn/prefer-modern-math-apis": "error",
2103
+ "unicorn/prefer-negative-index": "error",
2104
+ "unicorn/prefer-node-protocol": "error",
2105
+ "unicorn/prefer-optional-catch-binding": "error",
2106
+ "unicorn/prefer-prototype-methods": "error",
2107
+ "unicorn/prefer-reflect-apply": "error",
2108
+ "unicorn/prefer-structured-clone": "error",
2109
+ "unicorn/switch-case-braces": ["error", "avoid"],
2110
+ "unicorn/catch-error-name": ["error", {
2111
+ name: "err",
2112
+ ignore: ["^_."]
2113
+ }],
2114
+ "unicorn/custom-error-definition": "error",
2115
+ "unicorn/no-useless-error-capture-stack-trace": "error",
2116
+ "unicorn/prefer-type-error": "error",
2117
+ "unicorn/throw-new-error": "error",
2118
+ "unicorn/no-zero-fractions": "error",
2119
+ "unicorn/number-literal-case": "error",
2120
+ "unicorn/prefer-number-properties": "error",
2121
+ "unicorn/prefer-bigint-literals": "error",
2122
+ "unicorn/better-regex": "off",
2123
+ "unicorn/prefer-regexp-test": "error",
2124
+ "unicorn/consistent-date-clone": "error",
2125
+ "unicorn/prefer-date-now": "error",
2126
+ "unicorn/prefer-code-point": "error",
2127
+ "unicorn/prefer-string-slice": "error",
2128
+ "unicorn/prefer-string-starts-ends-with": "error",
2129
+ "unicorn/prefer-string-trim-start-end": "error",
2130
+ "unicorn/no-invalid-remove-event-listener": "error",
2131
+ "unicorn/prefer-add-event-listener": "error",
2132
+ "unicorn/prefer-classlist-toggle": "error",
2133
+ "unicorn/prefer-dom-node-append": "error",
2134
+ "unicorn/prefer-dom-node-dataset": "error",
2135
+ "unicorn/prefer-dom-node-remove": "error",
2136
+ "unicorn/prefer-dom-node-text-content": "error",
2137
+ "unicorn/prefer-modern-dom-apis": "error",
2138
+ "unicorn/prefer-query-selector": "error",
2139
+ "unicorn/no-array-callback-reference": "off",
2140
+ "unicorn/no-array-reverse": "off",
2141
+ "unicorn/no-array-sort": "off",
2142
+ "unicorn/no-array-method-this-argument": "error",
2143
+ "unicorn/no-new-array": "error",
2144
+ "unicorn/no-unnecessary-array-flat-depth": "error",
2145
+ "unicorn/no-unnecessary-array-splice-count": "error",
2146
+ "unicorn/no-unnecessary-slice-end": "error",
2147
+ "unicorn/prefer-array-find": "error",
2148
+ "unicorn/prefer-array-flat-map": "error",
2149
+ "unicorn/prefer-array-index-of": "error",
2150
+ "unicorn/prefer-array-some": "error",
2151
+ "unicorn/prefer-single-call": "error",
2152
+ "unicorn/require-array-join-separator": "error",
2153
+ "unicorn/prefer-set-has": "error",
2154
+ "unicorn/prefer-set-size": "error",
2155
+ "unicorn/require-module-specifiers": "off",
2156
+ "unicorn/require-module-attributes": "error",
2157
+ ...options.overrides
2158
+ }
2159
+ }];
2160
+ };
2142
2161
 
2143
2162
  //#endregion
2144
2163
  //#region src/configs/deMorgan.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "5.4.1",
4
+ "version": "5.5.0",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -36,8 +36,8 @@
36
36
  "tag": "latest"
37
37
  },
38
38
  "peerDependencies": {
39
- "@html-eslint/eslint-plugin": "^0.45.0",
40
- "@html-eslint/parser": "^0.45.0",
39
+ "@html-eslint/eslint-plugin": "^0.46.0",
40
+ "@html-eslint/parser": "^0.46.0",
41
41
  "astro-eslint-parser": "^1.2.2",
42
42
  "eslint": "^9.20.0",
43
43
  "eslint-plugin-astro": "^1.3.1",
@@ -88,10 +88,10 @@
88
88
  "@antfu/install-pkg": "^1.1.0",
89
89
  "@clack/prompts": "^0.11.0",
90
90
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
91
- "@eslint/js": "^9.33.0",
92
- "@eslint/markdown": "^7.1.0",
93
- "@unocss/eslint-plugin": "^66.4.2",
94
- "@vitest/eslint-plugin": "^1.3.4",
91
+ "@eslint/js": "^9.35.0",
92
+ "@eslint/markdown": "^7.2.0",
93
+ "@unocss/eslint-plugin": "^66.5.1",
94
+ "@vitest/eslint-plugin": "^1.3.9",
95
95
  "eslint-config-flat-gitignore": "^2.1.0",
96
96
  "eslint-flat-config-utils": "^2.1.1",
97
97
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -103,7 +103,7 @@
103
103
  "eslint-plugin-depend": "^1.2.0",
104
104
  "eslint-plugin-github-action": "^0.0.16",
105
105
  "eslint-plugin-import-x": "^4.16.1",
106
- "eslint-plugin-jsdoc": "^54.1.1",
106
+ "eslint-plugin-jsdoc": "^54.5.0",
107
107
  "eslint-plugin-jsonc": "^2.20.1",
108
108
  "eslint-plugin-n": "^17.21.3",
109
109
  "eslint-plugin-no-only-tests": "^3.3.0",
@@ -114,41 +114,40 @@
114
114
  "eslint-plugin-regexp": "^2.10.0",
115
115
  "eslint-plugin-svgo": "^0.11.1",
116
116
  "eslint-plugin-toml": "^0.12.0",
117
- "eslint-plugin-unicorn": "^60.0.0",
117
+ "eslint-plugin-unicorn": "^61.0.1",
118
118
  "eslint-plugin-vue": "^10.4.0",
119
119
  "eslint-plugin-yml": "^1.18.0",
120
120
  "eslint-processor-vue-blocks": "^2.0.0",
121
121
  "globals": "^16.3.0",
122
122
  "jsonc-eslint-parser": "^2.4.0",
123
123
  "local-pkg": "^1.1.2",
124
- "prettier": "^3.6.2",
125
124
  "toml-eslint-parser": "^0.10.0",
126
- "typescript-eslint": "^8.40.0",
125
+ "typescript-eslint": "^8.42.0",
127
126
  "vue-eslint-parser": "^10.2.0",
128
127
  "yaml-eslint-parser": "^1.3.0"
129
128
  },
130
129
  "devDependencies": {
131
130
  "@ntnyq/prettier-config": "^3.0.1",
132
- "@types/node": "^24.3.0",
133
- "@typescript-eslint/utils": "^8.40.0",
131
+ "@types/node": "^24.3.1",
132
+ "@typescript-eslint/utils": "^8.42.0",
134
133
  "bumpp": "^10.2.3",
135
134
  "consola": "^3.4.2",
136
- "eslint": "^9.33.0",
137
- "eslint-plugin-eslint-plugin": "^7.0.0",
135
+ "eslint": "^9.35.0",
138
136
  "eslint-typegen": "^2.3.0",
139
137
  "husky": "^9.1.7",
140
138
  "jiti": "^2.5.1",
141
139
  "nano-staged": "^0.8.0",
142
140
  "npm-run-all2": "^8.0.4",
143
- "tinyglobby": "^0.2.14",
144
- "tsdown": "^0.14.1",
145
- "tsx": "^4.20.4",
141
+ "prettier": "^3.6.2",
142
+ "tinyglobby": "^0.2.15",
143
+ "tsdown": "^0.14.2",
144
+ "tsx": "^4.20.5",
146
145
  "typescript": "^5.9.2",
147
146
  "uncase": "^0.2.0",
148
147
  "vitest": "^3.2.4"
149
148
  },
150
149
  "engines": {
151
- "node": ">=20.11.0"
150
+ "node": "^20.11.0 || >=21.1.0"
152
151
  },
153
152
  "nano-staged": {
154
153
  "*.{js,ts,mjs,cjs,md,vue,svg,yml,yaml,toml,json}": "eslint --fix",