@lenne.tech/eslint-config-vue 0.0.16 → 1.0.2

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 (2) hide show
  1. package/index.js +296 -297
  2. package/package.json +15 -12
package/index.js CHANGED
@@ -1,314 +1,313 @@
1
- console.log("Linting Vue...");
1
+ console.debug("Linting Vue...");
2
+ import vue from "eslint-plugin-vue";
3
+ import vueParser from "vue-eslint-parser";
4
+ import tsParser from "@typescript-eslint/parser";
5
+ import typescript from "@typescript-eslint/eslint-plugin";
6
+ import perfectionist from "eslint-plugin-perfectionist";
7
+ import prettier from "eslint-plugin-prettier";
8
+ import stylistic from "@stylistic/eslint-plugin";
2
9
 
3
- module.exports = {
4
- overrides: [
5
- {
6
- files: ["*.vue"],
7
- parser: "vue-eslint-parser",
10
+ export default [
11
+ {
12
+ files: ["*.ts"],
13
+ languageOptions: {
14
+ parser: vueParser,
8
15
  parserOptions: {
9
- parser: "@typescript-eslint/parser",
10
- },
11
- rules: {
12
- "no-unused-vars": "off",
13
- "no-undef": "off",
14
- "@typescript-eslint/no-unused-vars": "off",
16
+ parser: tsParser,
17
+ ecmaVersion: 2020,
18
+ sourceType: "module",
15
19
  },
16
20
  },
17
- ],
18
- ignorePatterns: ["**/*.js"],
19
- extends: [
20
- "plugin:vue/vue3-recommended",
21
- "plugin:import/typescript",
22
- "plugin:@typescript-eslint/recommended",
23
- "plugin:perfectionist/recommended-natural",
24
- "plugin:prettier/recommended"
25
- ],
26
- plugins: ["vitest", "prettier"],
27
- rules: {
28
- "prettier/prettier": "error",
21
+ plugins: {
22
+ vue,
23
+ "@typescript-eslint": typescript,
24
+ perfectionist,
25
+ "@stylistic": stylistic,
26
+ prettier,
27
+ },
28
+ rules: {
29
+ ...perfectionist.configs["recommended-natural"].rules,
30
+ ...vue.configs["vue3-recommended"].rules,
31
+ ...typescript.configs["recommended"].rules,
32
+ "prettier/prettier": "error",
29
33
 
30
- "perfectionist/sort-classes": "off",
31
- "perfectionist/sort-vue-attributes": "off",
34
+ "perfectionist/sort-classes": "off",
35
+ "perfectionist/sort-vue-attributes": "off",
32
36
 
33
- "vue/max-attributes-per-line": "off",
34
- "vue/no-v-html": "off",
35
- "vue/require-prop-types": "off",
36
- "vue/require-default-prop": "off",
37
- "vue/multi-word-component-names": "off",
38
- "vue/prefer-import-from-vue": "off",
39
- "vue/no-v-text-v-html-on-component": "off",
40
- "vue/no-dupe-keys": "off",
37
+ "vue/max-attributes-per-line": "off",
38
+ "vue/no-v-html": "off",
39
+ "vue/require-prop-types": "off",
40
+ "vue/require-default-prop": "off",
41
+ "vue/multi-word-component-names": "off",
42
+ "vue/prefer-import-from-vue": "off",
43
+ "vue/no-v-text-v-html-on-component": "off",
44
+ "vue/no-dupe-keys": "off",
41
45
 
42
- // reactivity transform
43
- "vue/no-setup-props-destructure": "off",
44
- "vue/component-tags-order": [
45
- "error",
46
- {
47
- order: ["script", "template", "style"],
48
- },
49
- ],
50
- "vue/block-tag-newline": [
51
- "error",
52
- {
53
- singleline: "always",
54
- multiline: "always",
55
- },
56
- ],
57
- "vue/component-name-in-template-casing": ["error", "PascalCase"],
58
- "vue/component-options-name-casing": ["error", "PascalCase"],
59
- "vue/custom-event-name-casing": ["error", "camelCase"],
60
- "vue/define-macros-order": [
61
- "error",
62
- {
63
- order: ["defineOptions", "defineProps", "defineEmits", "defineSlots"],
64
- },
65
- ],
66
- "vue/html-comment-content-spacing": [
67
- "error",
68
- "always",
69
- {
70
- exceptions: ["-"],
71
- },
72
- ],
73
- "vue/no-restricted-v-bind": ["error", "/^v-/"],
74
- "vue/no-useless-v-bind": "error",
75
- "vue/no-unused-refs": "error",
76
- "vue/padding-line-between-blocks": ["error", "always"],
77
- "vue/prefer-separate-static-class": "error",
46
+ // reactivity transform
47
+ "vue/no-setup-props-destructure": "off",
48
+ "vue/component-tags-order": [
49
+ "error",
50
+ {
51
+ order: ["script", "template", "style"],
52
+ },
53
+ ],
54
+ "vue/block-tag-newline": [
55
+ "error",
56
+ {
57
+ singleline: "always",
58
+ multiline: "always",
59
+ },
60
+ ],
61
+ "vue/component-name-in-template-casing": ["error", "PascalCase"],
62
+ "vue/component-options-name-casing": ["error", "PascalCase"],
63
+ "vue/custom-event-name-casing": ["error", "camelCase"],
64
+ "vue/define-macros-order": [
65
+ "error",
66
+ {
67
+ order: ["defineOptions", "defineProps", "defineEmits", "defineSlots"],
68
+ },
69
+ ],
70
+ "vue/html-comment-content-spacing": [
71
+ "error",
72
+ "always",
73
+ {
74
+ exceptions: ["-"],
75
+ },
76
+ ],
77
+ "vue/no-restricted-v-bind": ["error", "/^v-/"],
78
+ "vue/no-useless-v-bind": "error",
79
+ "vue/no-unused-refs": "error",
80
+ "vue/padding-line-between-blocks": ["error", "always"],
81
+ "vue/prefer-separate-static-class": "error",
78
82
 
79
- // extensions
80
- "vue/array-bracket-spacing": ["error", "never"],
81
- "vue/arrow-spacing": ["error", { before: true, after: true }],
82
- "vue/block-spacing": ["error", "always"],
83
- "vue/brace-style": ["error", "stroustrup", { allowSingleLine: true }],
84
- "vue/comma-dangle": ["error", "always-multiline"],
85
- "vue/comma-spacing": ["error", { before: false, after: true }],
86
- "vue/comma-style": ["error", "last"],
87
- "vue/dot-location": ["error", "property"],
88
- "vue/dot-notation": ["error", { allowKeywords: true }],
89
- "vue/eqeqeq": ["error", "smart"],
90
- // 'vue/func-call-spacing': ['off', 'never'],
91
- "vue/key-spacing": ["error", { beforeColon: false, afterColon: true }],
92
- "vue/keyword-spacing": ["error", { before: true, after: true }],
93
- "vue/no-constant-condition": "warn",
94
- "vue/no-empty-pattern": "error",
95
- "vue/no-extra-parens": ["error", "functions"],
96
- "vue/no-irregular-whitespace": "error",
97
- "vue/no-loss-of-precision": "error",
98
- "vue/no-restricted-syntax": [
99
- "error",
100
- "DebuggerStatement",
101
- "LabeledStatement",
102
- "WithStatement",
103
- ],
104
- "vue/no-sparse-arrays": "error",
105
- "vue/object-curly-newline": [
106
- "error",
107
- { multiline: true, consistent: true },
108
- ],
109
- "vue/object-curly-spacing": ["error", "always"],
110
- "vue/object-property-newline": [
111
- "error",
112
- { allowMultiplePropertiesPerLine: true },
113
- ],
114
- "vue/object-shorthand": [
115
- "error",
116
- "always",
117
- {
118
- ignoreConstructors: false,
119
- avoidQuotes: true,
120
- },
121
- ],
122
- "vue/operator-linebreak": ["error", "before"],
123
- "vue/prefer-template": "error",
124
- "vue/quote-props": ["error", "consistent-as-needed"],
125
- "vue/space-in-parens": ["error", "never"],
126
- "vue/space-infix-ops": "error",
127
- "vue/space-unary-ops": ["error", { words: true, nonwords: false }],
128
- "vue/template-curly-spacing": "error",
129
- "vue/html-self-closing": [
130
- "error",
131
- {
132
- html: {
133
- void: "always",
134
- normal: "never",
135
- component: "always",
83
+ // extensions
84
+ "vue/array-bracket-spacing": ["error", "never"],
85
+ "vue/arrow-spacing": ["error", { before: true, after: true }],
86
+ "vue/block-spacing": ["error", "always"],
87
+ "vue/brace-style": ["error", "stroustrup", { allowSingleLine: true }],
88
+ "vue/comma-dangle": ["error", "always-multiline"],
89
+ "vue/comma-spacing": ["error", { before: false, after: true }],
90
+ "vue/comma-style": ["error", "last"],
91
+ "vue/dot-location": ["error", "property"],
92
+ "vue/dot-notation": ["error", { allowKeywords: true }],
93
+ "vue/eqeqeq": ["error", "smart"],
94
+ // 'vue/func-call-spacing': ['off', 'never'],
95
+ "vue/key-spacing": ["error", { beforeColon: false, afterColon: true }],
96
+ "vue/keyword-spacing": ["error", { before: true, after: true }],
97
+ "vue/no-constant-condition": "warn",
98
+ "vue/no-empty-pattern": "error",
99
+ "vue/no-extra-parens": ["error", "functions"],
100
+ "vue/no-irregular-whitespace": "error",
101
+ "vue/no-loss-of-precision": "error",
102
+ "vue/no-restricted-syntax": [
103
+ "error",
104
+ "DebuggerStatement",
105
+ "LabeledStatement",
106
+ "WithStatement",
107
+ ],
108
+ "vue/no-sparse-arrays": "error",
109
+ "vue/object-curly-newline": [
110
+ "error",
111
+ { multiline: true, consistent: true },
112
+ ],
113
+ "vue/object-curly-spacing": ["error", "always"],
114
+ "vue/object-property-newline": [
115
+ "error",
116
+ { allowMultiplePropertiesPerLine: true },
117
+ ],
118
+ "vue/object-shorthand": [
119
+ "error",
120
+ "always",
121
+ {
122
+ ignoreConstructors: false,
123
+ avoidQuotes: true,
136
124
  },
137
- svg: "always",
138
- math: "always",
139
- },
140
- ],
125
+ ],
126
+ "vue/operator-linebreak": ["error", "before"],
127
+ "vue/prefer-template": "error",
128
+ "vue/quote-props": ["error", "consistent-as-needed"],
129
+ "vue/space-in-parens": ["error", "never"],
130
+ "vue/space-infix-ops": "error",
131
+ "vue/space-unary-ops": ["error", { words: true, nonwords: false }],
132
+ "vue/template-curly-spacing": "error",
133
+ "vue/html-self-closing": [
134
+ "error",
135
+ {
136
+ html: {
137
+ void: "always",
138
+ normal: "never",
139
+ component: "always",
140
+ },
141
+ svg: "always",
142
+ math: "always",
143
+ },
144
+ ],
141
145
 
142
- "vue/attributes-order": [
143
- "error",
144
- {
145
- order: [
146
- "DEFINITION",
147
- "LIST_RENDERING",
148
- "CONDITIONALS",
149
- "RENDER_MODIFIERS",
150
- "GLOBAL",
151
- ["UNIQUE", "SLOT"],
152
- "TWO_WAY_BINDING",
153
- "OTHER_DIRECTIVES",
154
- "OTHER_ATTR",
155
- "EVENTS",
156
- "CONTENT",
157
- ],
158
- alphabetical: false,
159
- },
160
- ],
146
+ "vue/attributes-order": [
147
+ "error",
148
+ {
149
+ order: [
150
+ "DEFINITION",
151
+ "LIST_RENDERING",
152
+ "CONDITIONALS",
153
+ "RENDER_MODIFIERS",
154
+ "GLOBAL",
155
+ ["UNIQUE", "SLOT"],
156
+ "TWO_WAY_BINDING",
157
+ "OTHER_DIRECTIVES",
158
+ "OTHER_ATTR",
159
+ "EVENTS",
160
+ "CONTENT",
161
+ ],
162
+ alphabetical: false,
163
+ },
164
+ ],
161
165
 
162
- /*
163
- TypeScript
164
- */
166
+ /*
167
+ TypeScript
168
+ */
165
169
 
166
- "import/named": "off",
170
+ "import/named": "off",
167
171
 
168
- // TS
169
- "@typescript-eslint/ban-ts-comment": [
170
- "error",
171
- { "ts-ignore": "allow-with-description" },
172
- ],
173
- "@typescript-eslint/member-delimiter-style": [
174
- "error",
175
- {
176
- multiline: {
177
- delimiter: "semi",
178
- requireLast: true,
172
+ // TS
173
+ "@typescript-eslint/ban-ts-comment": [
174
+ "error",
175
+ { "ts-ignore": "allow-with-description" },
176
+ ],
177
+ "@stylistic/member-delimiter-style": [
178
+ "error",
179
+ {
180
+ multiline: {
181
+ delimiter: "semi",
182
+ requireLast: true,
183
+ },
184
+ singleline: {
185
+ delimiter: "semi",
186
+ requireLast: false,
187
+ },
188
+ multilineDetection: "brackets",
179
189
  },
180
- singleline: {
181
- delimiter: "semi",
182
- requireLast: false,
190
+ ],
191
+ "@stylistic/type-annotation-spacing": ["error", {}],
192
+ "@typescript-eslint/consistent-type-imports": [
193
+ "error",
194
+ { prefer: "type-imports", disallowTypeAnnotations: false },
195
+ ],
196
+ "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
197
+ "@typescript-eslint/prefer-ts-expect-error": "error",
198
+ "@typescript-eslint/no-require-imports": "error",
199
+ // Override JS
200
+ "no-useless-constructor": "off",
201
+ indent: "off",
202
+ "@stylistic/indent": [
203
+ "error",
204
+ 2,
205
+ {
206
+ SwitchCase: 1,
207
+ VariableDeclarator: 1,
208
+ outerIIFEBody: 1,
209
+ MemberExpression: 1,
210
+ FunctionDeclaration: { parameters: 1, body: 1 },
211
+ FunctionExpression: { parameters: 1, body: 1 },
212
+ CallExpression: { arguments: 1 },
213
+ ArrayExpression: 1,
214
+ ObjectExpression: 1,
215
+ ImportDeclaration: 1,
216
+ flatTernaryExpressions: false,
217
+ ignoreComments: false,
218
+ ignoredNodes: [
219
+ "TemplateLiteral *",
220
+ "JSXElement",
221
+ "JSXElement > *",
222
+ "JSXAttribute",
223
+ "JSXIdentifier",
224
+ "JSXNamespacedName",
225
+ "JSXMemberExpression",
226
+ "JSXSpreadAttribute",
227
+ "JSXExpressionContainer",
228
+ "JSXOpeningElement",
229
+ "JSXClosingElement",
230
+ "JSXFragment",
231
+ "JSXOpeningFragment",
232
+ "JSXClosingFragment",
233
+ "JSXText",
234
+ "JSXEmptyExpression",
235
+ "JSXSpreadChild",
236
+ "TSTypeParameterInstantiation",
237
+ "FunctionExpression > .params[decorators.length > 0]",
238
+ "FunctionExpression > .params > :matches(Decorator, :not(:first-child))",
239
+ "ClassBody.body > PropertyDefinition[decorators.length > 0] > .key",
240
+ ],
241
+ offsetTernaryExpressions: true,
183
242
  },
184
- multilineDetection: "brackets",
185
- },
186
- ],
187
- "@typescript-eslint/type-annotation-spacing": ["error", {}],
188
- "@typescript-eslint/consistent-type-imports": [
189
- "error",
190
- { prefer: "type-imports", disallowTypeAnnotations: false },
191
- ],
192
- "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
193
- "@typescript-eslint/prefer-ts-expect-error": "error",
194
- "@typescript-eslint/no-require-imports": "error",
195
- // Override JS
196
- "no-useless-constructor": "off",
197
- indent: "off",
198
- "@typescript-eslint/indent": [
199
- "error",
200
- 2,
201
- {
202
- SwitchCase: 1,
203
- VariableDeclarator: 1,
204
- outerIIFEBody: 1,
205
- MemberExpression: 1,
206
- FunctionDeclaration: { parameters: 1, body: 1 },
207
- FunctionExpression: { parameters: 1, body: 1 },
208
- CallExpression: { arguments: 1 },
209
- ArrayExpression: 1,
210
- ObjectExpression: 1,
211
- ImportDeclaration: 1,
212
- flatTernaryExpressions: false,
213
- ignoreComments: false,
214
- ignoredNodes: [
215
- "TemplateLiteral *",
216
- "JSXElement",
217
- "JSXElement > *",
218
- "JSXAttribute",
219
- "JSXIdentifier",
220
- "JSXNamespacedName",
221
- "JSXMemberExpression",
222
- "JSXSpreadAttribute",
223
- "JSXExpressionContainer",
224
- "JSXOpeningElement",
225
- "JSXClosingElement",
226
- "JSXFragment",
227
- "JSXOpeningFragment",
228
- "JSXClosingFragment",
229
- "JSXText",
230
- "JSXEmptyExpression",
231
- "JSXSpreadChild",
232
- "TSTypeParameterInstantiation",
233
- "FunctionExpression > .params[decorators.length > 0]",
234
- "FunctionExpression > .params > :matches(Decorator, :not(:first-child))",
235
- "ClassBody.body > PropertyDefinition[decorators.length > 0] > .key",
236
- ],
237
- offsetTernaryExpressions: true,
238
- },
239
- ],
240
- "no-invalid-this": "off",
241
- "@typescript-eslint/no-invalid-this": "error",
242
- "no-redeclare": "off",
243
- "@typescript-eslint/no-redeclare": "error",
244
- "no-use-before-define": "off",
245
- "@typescript-eslint/no-use-before-define": [
246
- "error",
247
- { functions: false, classes: false, variables: true },
248
- ],
249
- "brace-style": "off",
250
- "comma-dangle": "off",
251
- "@typescript-eslint/comma-dangle": ["error", "always-multiline"],
252
- "object-curly-spacing": "off",
253
- "@typescript-eslint/object-curly-spacing": ["error", "always"],
254
- semi: "off",
255
- "@typescript-eslint/semi": ["error"],
256
- quotes: "off",
257
- "@typescript-eslint/quotes": ["error", "single"],
258
- "space-before-blocks": "off",
259
- "@typescript-eslint/space-before-blocks": ["error", "always"],
260
- "space-before-function-paren": "off",
261
- "@typescript-eslint/space-before-function-paren": [
262
- "error",
263
- {
264
- anonymous: "always",
265
- named: "never",
266
- asyncArrow: "always",
267
- },
268
- ],
269
- "space-infix-ops": "off",
270
- "@typescript-eslint/space-infix-ops": "error",
271
- "keyword-spacing": "off",
272
- "@typescript-eslint/keyword-spacing": [
273
- "error",
274
- { before: true, after: true },
275
- ],
276
- "comma-spacing": "off",
277
- "@typescript-eslint/comma-spacing": [
278
- "error",
279
- { before: false, after: true },
280
- ],
281
- "no-extra-parens": "off",
282
- "@typescript-eslint/no-extra-parens": ["error", "functions"],
283
- "no-dupe-class-members": "off",
284
- "@typescript-eslint/no-dupe-class-members": "error",
285
- "no-loss-of-precision": "off",
286
- "@typescript-eslint/no-loss-of-precision": "error",
287
- "lines-between-class-members": "off",
288
- "@typescript-eslint/lines-between-class-members": [
289
- "error",
290
- "always",
291
- { exceptAfterSingleLine: true },
292
- ],
293
- "no-console": ["error", { allow: ["info", "debug", "warn", "error"] }],
294
- curly: ["error", "all"],
295
- "max-statements-per-line": ["error", { max: 1 }],
243
+ ],
244
+ "no-invalid-this": "off",
245
+ "@typescript-eslint/no-invalid-this": "error",
246
+ "no-redeclare": "off",
247
+ "@typescript-eslint/no-redeclare": "error",
248
+ "no-use-before-define": "off",
249
+ "@typescript-eslint/no-use-before-define": [
250
+ "error",
251
+ { functions: false, classes: false, variables: true },
252
+ ],
253
+ "brace-style": "off",
254
+ "comma-dangle": "off",
255
+ "@stylistic/comma-dangle": ["error", "always-multiline"],
256
+ "object-curly-spacing": "off",
257
+ "@stylistic/object-curly-spacing": ["error", "always"],
258
+ semi: "off",
259
+ "@stylistic/semi": ["error"],
260
+ quotes: "off",
261
+ "@stylistic/quotes": ["error", "single"],
262
+ "space-before-blocks": "off",
263
+ "@stylistic/space-before-blocks": ["error", "always"],
264
+ "space-before-function-paren": "off",
265
+ "@stylistic/space-before-function-paren": [
266
+ "error",
267
+ {
268
+ anonymous: "always",
269
+ named: "never",
270
+ asyncArrow: "always",
271
+ },
272
+ ],
273
+ "space-infix-ops": "off",
274
+ "@stylistic/space-infix-ops": "error",
275
+ "keyword-spacing": "off",
276
+ "@stylistic/keyword-spacing": ["error", { before: true, after: true }],
277
+ "comma-spacing": "off",
278
+ "@stylistic/comma-spacing": ["error", { before: false, after: true }],
279
+ "no-extra-parens": "off",
280
+ "@stylistic/no-extra-parens": ["error", "functions"],
281
+ "no-dupe-class-members": "off",
282
+ "@typescript-eslint/no-dupe-class-members": "error",
283
+ "no-loss-of-precision": "off",
284
+ "@typescript-eslint/no-loss-of-precision": "error",
285
+ "lines-between-class-members": "off",
286
+ "@stylistic/lines-between-class-members": [
287
+ "error",
288
+ "always",
289
+ { exceptAfterSingleLine: true },
290
+ ],
291
+ "no-console": ["error", { allow: ["info", "debug", "warn", "error"] }],
292
+ curly: ["error", "all"],
293
+ "max-statements-per-line": ["error", { max: 1 }],
296
294
 
297
- // off
298
- "@typescript-eslint/consistent-indexed-object-style": "off",
299
- "@typescript-eslint/naming-convention": "off",
300
- "@typescript-eslint/explicit-function-return-type": "off",
301
- "@typescript-eslint/explicit-member-accessibility": "off",
302
- "@typescript-eslint/no-explicit-any": "off",
303
- "@typescript-eslint/parameter-properties": "off",
304
- "@typescript-eslint/interface-name-prefix": "off",
305
- "@typescript-eslint/no-empty-interface": "off",
306
- "@typescript-eslint/ban-ts-ignore": "off",
307
- "@typescript-eslint/no-empty-function": "off",
308
- "@typescript-eslint/no-non-null-assertion": "off",
309
- "@typescript-eslint/explicit-module-boundary-types": "off",
310
- "@typescript-eslint/ban-types": "off",
311
- "@typescript-eslint/triple-slash-reference": "off",
312
- "@typescript-eslint/no-unused-vars": "off",
295
+ // off
296
+ "@typescript-eslint/consistent-indexed-object-style": "off",
297
+ "@typescript-eslint/naming-convention": "off",
298
+ "@typescript-eslint/explicit-function-return-type": "off",
299
+ "@typescript-eslint/explicit-member-accessibility": "off",
300
+ "@typescript-eslint/no-explicit-any": "off",
301
+ "@typescript-eslint/parameter-properties": "off",
302
+ "@typescript-eslint/interface-name-prefix": "off",
303
+ "@typescript-eslint/no-empty-interface": "off",
304
+ "@typescript-eslint/ban-ts-ignore": "off",
305
+ "@typescript-eslint/no-empty-function": "off",
306
+ "@typescript-eslint/no-non-null-assertion": "off",
307
+ "@typescript-eslint/explicit-module-boundary-types": "off",
308
+ "@typescript-eslint/ban-types": "off",
309
+ "@typescript-eslint/triple-slash-reference": "off",
310
+ "@typescript-eslint/no-unused-vars": "off",
311
+ },
313
312
  },
314
- };
313
+ ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenne.tech/eslint-config-vue",
3
- "version": "0.0.16",
3
+ "version": "1.0.2",
4
4
  "description": "ESLint config of lenne.Tech for Vue",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -10,26 +10,29 @@
10
10
  "files": [
11
11
  "index.js"
12
12
  ],
13
+ "type": "module",
13
14
  "scripts": {
14
- "watch": "watch 'yalc push --private'"
15
+ "watch": "watch 'yalc push --private'",
16
+ "reinit": "rimraf package-lock.json && rimraf node_modules && npm cache clean --force && npm i"
15
17
  },
16
18
  "peerDependencies": {
17
- "eslint": ">=7.4.0"
19
+ "eslint": ">=9.0.0"
18
20
  },
19
21
  "dependencies": {
20
- "@typescript-eslint/eslint-plugin": "6.7.0",
21
- "@typescript-eslint/parser": "6.7.0",
22
- "eslint-config-prettier": "9.0.0",
22
+ "@typescript-eslint/eslint-plugin": "8.19.1",
23
+ "@typescript-eslint/parser": "8.19.1",
24
+ "@stylistic/eslint-plugin": "2.12.1",
25
+ "eslint-config-prettier": "9.1.0",
26
+ "eslint-plugin-import": "2.31.0",
27
+ "eslint-plugin-perfectionist": "2.4.2",
23
28
  "eslint-plugin-prettier": "5.0.1",
24
- "eslint-plugin-import": "2.28.1",
25
- "eslint-plugin-perfectionist": "^2.4.2",
26
29
  "eslint-plugin-vitest": "0.3.1",
27
- "eslint-plugin-vue": "9.17.0",
28
- "functions-have-names": "1.2.3"
30
+ "eslint-plugin-vue": "9.25.0",
31
+ "functions-have-names": "1.2.3",
32
+ "vue-eslint-parser": "^9.4.3"
29
33
  },
30
34
  "devDependencies": {
31
- "@nuxtjs/eslint-config-typescript": "12.1.0",
32
- "eslint": "8.49.0",
35
+ "eslint": "9.17.0",
33
36
  "watch": "1.0.2"
34
37
  }
35
38
  }