eslint-config-greenpie 16.2.0 → 16.3.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.
@@ -43,6 +43,8 @@ describe(RULE_ID, () => {
43
43
 
44
44
  Use `runOxlint` + `violationsOf` from `tests/oxlint/helper.ts`. Fixture files live **next to the test** (not in a `fixtures/` subfolder).
45
45
 
46
+ For Vue fixtures, prefer `<script setup lang="ts">` by default. Use Options API only when the rule specifically targets Options API component objects, `export default`, or legacy option keys.
47
+
46
48
  ```typescript
47
49
  import path from 'node:path';
48
50
  import { describe, expect, it } from 'vitest';
@@ -203,6 +203,8 @@
203
203
  "vue/no-export-in-script-setup": "error",
204
204
  "vue/no-lifecycle-after-await": "error",
205
205
  "vue/no-reserved-component-names": "error",
206
+ "vue/no-reserved-keys": "error",
207
+ "vue/no-reserved-props": "error",
206
208
  "vue/no-shared-component-data": "error",
207
209
  "vue/no-this-in-before-route-enter": "error",
208
210
  "vue/no-watch-after-await": "error",
@@ -787,6 +789,10 @@
787
789
  "vue/define-emits-declaration": "error",
788
790
  "vue/define-props-declaration": "error",
789
791
  "vue/define-props-destructuring": "off", // It requires destructuring, even when not needed
792
+ "vue/next-tick-style": "error",
793
+ "vue/prop-name-casing": "error",
794
+ "vue/require-direct-export": "error",
795
+ "vue/require-prop-types": "error",
790
796
  "vue/require-typed-ref": "error",
791
797
 
792
798
  /**
package/configs/vue.js CHANGED
@@ -26,6 +26,7 @@ export default defineConfig(
26
26
  'vue/define-props-declaration': 'off',
27
27
  'vue/define-props-destructuring': 'off',
28
28
  'vue/max-props': 'off',
29
+ 'vue/next-tick-style': 'off',
29
30
  'vue/no-arrow-functions-in-watch': 'off',
30
31
  'vue/no-computed-properties-in-data': 'off',
31
32
  'vue/no-deprecated-data-object-declaration': 'off',
@@ -41,13 +42,18 @@ export default defineConfig(
41
42
  'vue/no-lifecycle-after-await': 'off',
42
43
  'vue/no-multiple-slot-args': 'off',
43
44
  'vue/no-reserved-component-names': 'off',
45
+ 'vue/no-reserved-keys': 'off',
46
+ 'vue/no-reserved-props': 'off',
44
47
  'vue/no-required-prop-with-default': 'off',
45
48
  'vue/no-shared-component-data': 'off',
46
49
  'vue/no-this-in-before-route-enter': 'off',
47
50
  'vue/no-watch-after-await': 'off',
48
51
  'vue/prefer-import-from-vue': 'off',
52
+ 'vue/prop-name-casing': 'off',
49
53
  'vue/require-default-export': 'off',
54
+ 'vue/require-direct-export': 'off',
50
55
  'vue/require-prop-type-constructor': 'off',
56
+ 'vue/require-prop-types': 'off',
51
57
  'vue/require-render-return': 'off',
52
58
  'vue/require-slots-as-functions': 'off',
53
59
  'vue/require-typed-ref': 'off',
@@ -80,8 +86,6 @@ export default defineConfig(
80
86
  'vue/no-mutating-props': 'error',
81
87
  'vue/no-parsing-error': 'error',
82
88
  'vue/no-ref-as-operand': 'error',
83
- 'vue/no-reserved-keys': 'error',
84
- 'vue/no-reserved-props': 'error',
85
89
  'vue/no-side-effects-in-computed-properties': 'error',
86
90
  'vue/no-template-key': 'error',
87
91
  'vue/no-textarea-mustache': 'error',
@@ -158,7 +162,6 @@ export default defineConfig(
158
162
  'vue/no-spaces-around-equal-signs-in-attribute': 'error',
159
163
  'vue/no-template-shadow': 'error',
160
164
  'vue/one-component-per-file': 'error',
161
- 'vue/prop-name-casing': 'error',
162
165
 
163
166
  /**
164
167
  * Conflicts with
@@ -169,7 +172,6 @@ export default defineConfig(
169
172
  */
170
173
  'vue/require-default-prop': 'off',
171
174
 
172
- 'vue/require-prop-types': 'error',
173
175
  'vue/singleline-html-element-content-newline': 'error',
174
176
 
175
177
  'vue/v-bind-style': ['error', 'shorthand', {
@@ -249,7 +251,6 @@ export default defineConfig(
249
251
 
250
252
  'vue/max-template-depth': 'off',
251
253
  'vue/new-line-between-multi-line-property': 'error',
252
- 'vue/next-tick-style': 'error',
253
254
  'vue/no-bare-strings-in-template': 'error',
254
255
  'vue/no-boolean-default': 'error',
255
256
  'vue/no-duplicate-attr-inheritance': 'error',
@@ -323,7 +324,6 @@ export default defineConfig(
323
324
  'vue/prefer-true-attribute-shorthand': 'error',
324
325
  'vue/prefer-use-template-ref': 'error',
325
326
  'vue/prefer-v-model': 'error',
326
- 'vue/require-direct-export': 'error',
327
327
  'vue/require-emit-validator': 'error',
328
328
  'vue/require-explicit-slots': 'off',
329
329
  'vue/require-expose': 'error',
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "eslint-config-greenpie",
3
- "version": "16.2.0",
3
+ "version": "16.3.0",
4
4
  "description": "GreenPie's ESLint and oxlint configs",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "author": "Roman Nuritdinov (Ky6uk)",
8
8
  "license": "MIT",
9
9
  "type": "module",
10
- "packageManager": "npm@11.15.0",
10
+ "packageManager": "npm@11.16.0",
11
11
  "homepage": "https://github.com/GreenPie/eslint-config-greenpie",
12
12
  "repository": {
13
13
  "type": "git",
@@ -37,21 +37,21 @@
37
37
  "oxlint"
38
38
  ],
39
39
  "devDependencies": {
40
- "@types/node": "^25.9.1",
40
+ "@types/node": "^25.9.2",
41
41
  "execa": "^9.6.1",
42
42
  "husky": "^9.1.7",
43
- "oxlint": "^1.68.0",
43
+ "oxlint": "^1.69.0",
44
44
  "taze": "^19.14.1",
45
45
  "valibot": "1.4.1",
46
- "vitest": "^4.1.7",
47
- "vue": "^3.5.34"
46
+ "vitest": "^4.1.8",
47
+ "vue": "^3.5.35"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@stylistic/eslint-plugin": "^5.10.0",
51
- "eslint": "^10.4.0",
52
- "eslint-plugin-vue": "^10.9.1",
53
- "oxlint": "^1.68.0",
51
+ "eslint": "^10.4.1",
52
+ "eslint-plugin-vue": "^10.9.2",
53
+ "oxlint": "^1.69.0",
54
54
  "oxlint-tsgolint": "^0.23.0",
55
- "typescript-eslint": "^8.60.0"
55
+ "typescript-eslint": "^8.61.0"
56
56
  }
57
57
  }