@rovik/eslint 1.0.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.
- package/dist/index.d.ts +7 -0
- package/dist/index.js +549 -0
- package/dist/index.js.map +1 -0
- package/dist/vue.d.ts +3533 -0
- package/dist/vue.js +549 -0
- package/dist/vue.js.map +1 -0
- package/package.json +62 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { DefineEslintOptions, bestPracticesRules, complexityRules, defineEslintVue, formattingRules, ignoresConfig, importRules, putoutRules, restrictedImportsRules, simpleImportSortRules, stylisticRules, typescriptRules, unusedImportsRules, vueAllRules, vueConfig, vueExtendsRules, vueLanguageOptions, vuePlugins, vueRules } from './vue.js';
|
|
2
|
+
import 'typescript-eslint';
|
|
3
|
+
import 'eslint';
|
|
4
|
+
import 'json-schema';
|
|
5
|
+
import '@stylistic/eslint-plugin-ts';
|
|
6
|
+
import '@stylistic/eslint-plugin';
|
|
7
|
+
import 'vue-eslint-parser';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
// src/vue.ts
|
|
2
|
+
import typescriptEslint2 from "typescript-eslint";
|
|
3
|
+
|
|
4
|
+
// src/configs/ignores.ts
|
|
5
|
+
var ignoresConfig = {
|
|
6
|
+
ignores: [
|
|
7
|
+
"**/coverage",
|
|
8
|
+
"**/dist",
|
|
9
|
+
"node_modules",
|
|
10
|
+
"vite.config.ts",
|
|
11
|
+
"vitest.config.ts",
|
|
12
|
+
"**/*.timestamp-*"
|
|
13
|
+
]
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// src/configs/vue.ts
|
|
17
|
+
import eslint from "@eslint/js";
|
|
18
|
+
import stylistic from "@stylistic/eslint-plugin";
|
|
19
|
+
import stylisticTs from "@stylistic/eslint-plugin-ts";
|
|
20
|
+
import eslintPluginVue from "eslint-plugin-vue";
|
|
21
|
+
import importPlugin from "eslint-plugin-import";
|
|
22
|
+
import putout from "eslint-plugin-putout";
|
|
23
|
+
import simpleImportSort from "eslint-plugin-simple-import-sort";
|
|
24
|
+
import unusedImports from "eslint-plugin-unused-imports";
|
|
25
|
+
import globals from "globals";
|
|
26
|
+
import typescriptEslint from "typescript-eslint";
|
|
27
|
+
import * as vueParser from "vue-eslint-parser";
|
|
28
|
+
|
|
29
|
+
// src/rules/best-practices.ts
|
|
30
|
+
var bestPracticesRules = {
|
|
31
|
+
"no-prototype-builtins": "off",
|
|
32
|
+
"no-use-before-define": "off",
|
|
33
|
+
"require-await": "off",
|
|
34
|
+
"dot-notation": "error",
|
|
35
|
+
"no-nested-ternary": "error",
|
|
36
|
+
"no-console": ["error", { allow: ["warn", "error"] }],
|
|
37
|
+
"prefer-destructuring": [
|
|
38
|
+
"error",
|
|
39
|
+
{
|
|
40
|
+
VariableDeclarator: { array: true, object: true },
|
|
41
|
+
AssignmentExpression: { array: true, object: false }
|
|
42
|
+
},
|
|
43
|
+
{ enforceForRenamedProperties: false }
|
|
44
|
+
],
|
|
45
|
+
"eqeqeq": ["error", "always"],
|
|
46
|
+
"no-delete-var": "error",
|
|
47
|
+
"@typescript-eslint/no-use-before-define": [
|
|
48
|
+
"error",
|
|
49
|
+
{
|
|
50
|
+
functions: false,
|
|
51
|
+
classes: false,
|
|
52
|
+
variables: true,
|
|
53
|
+
typedefs: false,
|
|
54
|
+
enums: false,
|
|
55
|
+
ignoreTypeReferences: true,
|
|
56
|
+
allowNamedExports: true
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"no-promise-executor-return": "warn",
|
|
60
|
+
"no-async-promise-executor": "warn",
|
|
61
|
+
"id-length": ["error", { min: 2, exceptions: ["_"], properties: "never" }],
|
|
62
|
+
"curly": ["error", "multi-line"],
|
|
63
|
+
"one-var": ["error", "never"],
|
|
64
|
+
"no-cond-assign": ["error", "except-parens"],
|
|
65
|
+
"camelcase": ["error", { properties: "never", allow: ["preferred_username", "grant_type"] }],
|
|
66
|
+
"new-cap": ["error", { newIsCap: true, capIsNew: false, properties: false }],
|
|
67
|
+
"accessor-pairs": ["error", { setWithoutGet: true, getWithoutSet: false }],
|
|
68
|
+
"constructor-super": "error",
|
|
69
|
+
"no-array-constructor": "error",
|
|
70
|
+
"no-caller": "error",
|
|
71
|
+
"no-class-assign": "error",
|
|
72
|
+
"no-const-assign": "error",
|
|
73
|
+
"no-constant-condition": "error",
|
|
74
|
+
"no-eval": "error",
|
|
75
|
+
"no-extend-native": "error",
|
|
76
|
+
"no-extra-bind": "error",
|
|
77
|
+
"no-implied-eval": "error",
|
|
78
|
+
"no-inner-declarations": "error",
|
|
79
|
+
"no-iterator": "error",
|
|
80
|
+
"no-label-var": "error",
|
|
81
|
+
"no-labels": "error",
|
|
82
|
+
"no-lone-blocks": "error",
|
|
83
|
+
"no-multi-str": "error",
|
|
84
|
+
"no-new": "error",
|
|
85
|
+
"no-new-func": "error",
|
|
86
|
+
"no-object-constructor": "error",
|
|
87
|
+
"no-new-wrappers": "error",
|
|
88
|
+
"no-octal-escape": "error",
|
|
89
|
+
"no-proto": "error",
|
|
90
|
+
"no-self-compare": "error",
|
|
91
|
+
"no-sequences": "error",
|
|
92
|
+
"no-template-curly-in-string": "error",
|
|
93
|
+
"no-throw-literal": "error",
|
|
94
|
+
"no-undef-init": "error",
|
|
95
|
+
"no-unmodified-loop-condition": "error",
|
|
96
|
+
"no-unneeded-ternary": "error",
|
|
97
|
+
"no-useless-call": "error",
|
|
98
|
+
"no-useless-computed-key": "error",
|
|
99
|
+
"no-useless-rename": "error",
|
|
100
|
+
"yoda": "error",
|
|
101
|
+
"operator-linebreak": [
|
|
102
|
+
"error",
|
|
103
|
+
"before",
|
|
104
|
+
{
|
|
105
|
+
overrides: {
|
|
106
|
+
"=": "after",
|
|
107
|
+
"+=": "after",
|
|
108
|
+
"-=": "after",
|
|
109
|
+
"*=": "after",
|
|
110
|
+
"/=": "after"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// src/rules/complexity.ts
|
|
117
|
+
var complexityRules = {
|
|
118
|
+
"max-lines": ["error", 300],
|
|
119
|
+
"max-nested-callbacks": ["error", 3],
|
|
120
|
+
"max-statements": ["error", 40],
|
|
121
|
+
"max-lines-per-function": ["error", 300],
|
|
122
|
+
"max-params": ["error", 3],
|
|
123
|
+
"complexity": ["error", { max: 28, variant: "modified" }],
|
|
124
|
+
"max-depth": ["error", 3]
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
// src/rules/formatting.ts
|
|
128
|
+
var formattingRules = {
|
|
129
|
+
"object-property-newline": "error",
|
|
130
|
+
"object-curly-spacing": ["error", "always"],
|
|
131
|
+
"array-bracket-spacing": ["error", "always"],
|
|
132
|
+
"no-multi-spaces": "error",
|
|
133
|
+
"quotes": ["error", "single"]
|
|
134
|
+
};
|
|
135
|
+
var putoutRules = {
|
|
136
|
+
"putout/multiple-properties-destructuring": "error"
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// src/rules/imports.ts
|
|
140
|
+
var importRules = {
|
|
141
|
+
"import/first": "error",
|
|
142
|
+
"import/newline-after-import": ["error", { count: 1 }],
|
|
143
|
+
"import/no-self-import": "error"
|
|
144
|
+
};
|
|
145
|
+
var simpleImportSortRules = {
|
|
146
|
+
"simple-import-sort/imports": [
|
|
147
|
+
"error",
|
|
148
|
+
{
|
|
149
|
+
groups: [
|
|
150
|
+
[
|
|
151
|
+
"^vue",
|
|
152
|
+
"^@?\\w/?\\w",
|
|
153
|
+
"^@?/shared/\\w",
|
|
154
|
+
"^@?/entities/\\w",
|
|
155
|
+
"^@?/features/\\w",
|
|
156
|
+
"^@?/widgets/\\w",
|
|
157
|
+
"^@?/pages/\\w",
|
|
158
|
+
"^@?/app/\\w",
|
|
159
|
+
"^[./]+/shared/\\w",
|
|
160
|
+
"^[./]+/entities/\\w",
|
|
161
|
+
"^[./]+/features/\\w",
|
|
162
|
+
"^[./]+/widgets/\\w",
|
|
163
|
+
"^[./]+/pages/\\w",
|
|
164
|
+
"^[./]+/app/\\w",
|
|
165
|
+
"^"
|
|
166
|
+
]
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
],
|
|
170
|
+
"simple-import-sort/exports": "error"
|
|
171
|
+
};
|
|
172
|
+
var unusedImportsRules = {
|
|
173
|
+
"unused-imports/no-unused-imports": "error",
|
|
174
|
+
"unused-imports/no-unused-vars": [
|
|
175
|
+
"error",
|
|
176
|
+
{
|
|
177
|
+
vars: "all",
|
|
178
|
+
varsIgnorePattern: "^_",
|
|
179
|
+
args: "after-used",
|
|
180
|
+
argsIgnorePattern: "^_",
|
|
181
|
+
ignoreRestSiblings: true
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
};
|
|
185
|
+
var restrictedImportsRules = {
|
|
186
|
+
"no-restricted-imports": [
|
|
187
|
+
"error",
|
|
188
|
+
{
|
|
189
|
+
patterns: [
|
|
190
|
+
{
|
|
191
|
+
group: ["*.ts"],
|
|
192
|
+
message: "Do not use .ts extension in imports"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
// src/rules/stylistic.ts
|
|
200
|
+
var stylisticRules = {
|
|
201
|
+
"@stylistic/indent-legacy": "off",
|
|
202
|
+
"@stylistic/array-element-newline": "off",
|
|
203
|
+
"@stylistic/array-bracket-newline": "off",
|
|
204
|
+
"@stylistic/eol-last": ["error", "always"],
|
|
205
|
+
"@stylistic/indent": [
|
|
206
|
+
"error",
|
|
207
|
+
2,
|
|
208
|
+
{
|
|
209
|
+
SwitchCase: 1,
|
|
210
|
+
VariableDeclarator: "first",
|
|
211
|
+
outerIIFEBody: 1,
|
|
212
|
+
MemberExpression: 1,
|
|
213
|
+
FunctionDeclaration: { parameters: 1, body: 1 },
|
|
214
|
+
FunctionExpression: { parameters: 1, body: 1 },
|
|
215
|
+
CallExpression: { arguments: 1 },
|
|
216
|
+
ArrayExpression: 1,
|
|
217
|
+
ObjectExpression: 1,
|
|
218
|
+
ImportDeclaration: 1,
|
|
219
|
+
flatTernaryExpressions: false,
|
|
220
|
+
ignoreComments: false
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"@stylistic/no-mixed-spaces-and-tabs": "error",
|
|
224
|
+
"no-empty": ["error", { allowEmptyCatch: true }],
|
|
225
|
+
"no-duplicate-imports": "error",
|
|
226
|
+
"prefer-const": ["error", { destructuring: "all" }],
|
|
227
|
+
"@stylistic/object-curly-newline": [
|
|
228
|
+
"error",
|
|
229
|
+
{
|
|
230
|
+
ObjectExpression: { multiline: true, minProperties: 1 },
|
|
231
|
+
ImportDeclaration: { multiline: true, minProperties: 2 },
|
|
232
|
+
ExportDeclaration: { multiline: true, minProperties: 2 }
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
"@stylistic/object-property-newline": ["error", { allowAllPropertiesOnSameLine: false }],
|
|
236
|
+
"@stylistic/max-statements-per-line": ["error", { max: 1 }],
|
|
237
|
+
"@stylistic/comma-spacing": "error",
|
|
238
|
+
"@stylistic/comma-dangle": "error",
|
|
239
|
+
"@stylistic/semi": "error",
|
|
240
|
+
"@stylistic/no-extra-semi": "error",
|
|
241
|
+
"@stylistic/semi-style": ["error", "last"],
|
|
242
|
+
"@stylistic/semi-spacing": "error",
|
|
243
|
+
"@stylistic/no-multiple-empty-lines": ["error", { max: 1 }],
|
|
244
|
+
"@stylistic/lines-between-class-members": ["error", "always"],
|
|
245
|
+
"@stylistic/no-trailing-spaces": "error",
|
|
246
|
+
"@stylistic/keyword-spacing": "error",
|
|
247
|
+
"@stylistic/arrow-spacing": "error",
|
|
248
|
+
"@stylistic/block-spacing": "error",
|
|
249
|
+
"@stylistic/computed-property-spacing": "error",
|
|
250
|
+
"@stylistic/generator-star-spacing": "error",
|
|
251
|
+
"@stylistic/key-spacing": "error",
|
|
252
|
+
"@stylistic/space-in-parens": "error",
|
|
253
|
+
"@stylistic/space-infix-ops": "error",
|
|
254
|
+
"@stylistic/func-call-spacing": "error",
|
|
255
|
+
"@stylistic/space-before-blocks": "error",
|
|
256
|
+
"@stylistic/space-before-function-paren": [
|
|
257
|
+
"error",
|
|
258
|
+
{ anonymous: "never", named: "never", asyncArrow: "always" }
|
|
259
|
+
],
|
|
260
|
+
"@stylistic/member-delimiter-style": [
|
|
261
|
+
"error",
|
|
262
|
+
{
|
|
263
|
+
multiline: { delimiter: "none", requireLast: false },
|
|
264
|
+
singleline: { delimiter: "comma", requireLast: false }
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"@stylistic/no-extra-parens": [
|
|
268
|
+
"error",
|
|
269
|
+
"all",
|
|
270
|
+
{
|
|
271
|
+
nestedBinaryExpressions: false,
|
|
272
|
+
enforceForArrowConditionals: false,
|
|
273
|
+
enforceForNewInMemberExpressions: false,
|
|
274
|
+
enforceForFunctionPrototypeMethods: true,
|
|
275
|
+
conditionalAssign: false,
|
|
276
|
+
returnAssign: false,
|
|
277
|
+
ignoreJSX: "all",
|
|
278
|
+
ternaryOperandBinaryExpressions: false
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"@stylistic/ts/type-annotation-spacing": [
|
|
282
|
+
"error",
|
|
283
|
+
{
|
|
284
|
+
before: false,
|
|
285
|
+
after: true,
|
|
286
|
+
overrides: { arrow: { before: true, after: true } }
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
"@stylistic/brace-style": "error",
|
|
290
|
+
"@stylistic/comma-style": "error",
|
|
291
|
+
"@stylistic/dot-location": ["error", "property"],
|
|
292
|
+
"@stylistic/new-parens": "error",
|
|
293
|
+
"@stylistic/no-floating-decimal": "error",
|
|
294
|
+
"@stylistic/no-whitespace-before-property": "error",
|
|
295
|
+
"@stylistic/rest-spread-spacing": "error",
|
|
296
|
+
"@stylistic/space-unary-ops": "error",
|
|
297
|
+
"@stylistic/spaced-comment": "error",
|
|
298
|
+
"@stylistic/template-curly-spacing": "error",
|
|
299
|
+
"@stylistic/wrap-iife": "error",
|
|
300
|
+
"@stylistic/yield-star-spacing": "error"
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
// src/rules/typescript.ts
|
|
304
|
+
var typescriptRules = {
|
|
305
|
+
"@typescript-eslint/no-restricted-types": "off",
|
|
306
|
+
"@typescript-eslint/no-non-null-asserted-optional-chain": "off",
|
|
307
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
308
|
+
"@typescript-eslint/prefer-namespace-keyword": "off",
|
|
309
|
+
"@typescript-eslint/no-unsafe-function-type": "off",
|
|
310
|
+
"@typescript-eslint/no-inferrable-types": "off",
|
|
311
|
+
"@typescript-eslint/no-dynamic-delete": "error",
|
|
312
|
+
"@typescript-eslint/no-namespace": "off",
|
|
313
|
+
"@typescript-eslint/no-empty-object-type": [
|
|
314
|
+
"error",
|
|
315
|
+
{ allowInterfaces: "with-single-extends", allowObjectTypes: "always" }
|
|
316
|
+
],
|
|
317
|
+
"@typescript-eslint/naming-convention": [
|
|
318
|
+
"error",
|
|
319
|
+
{
|
|
320
|
+
selector: "interface",
|
|
321
|
+
format: ["PascalCase"],
|
|
322
|
+
custom: { regex: "^I[A-Z]", match: false }
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
"@typescript-eslint/member-ordering": [
|
|
326
|
+
"error",
|
|
327
|
+
{
|
|
328
|
+
default: {
|
|
329
|
+
memberTypes: [
|
|
330
|
+
"public-static-field",
|
|
331
|
+
"protected-static-field",
|
|
332
|
+
"private-static-field",
|
|
333
|
+
"public-decorated-field",
|
|
334
|
+
"protected-decorated-field",
|
|
335
|
+
"private-decorated-field",
|
|
336
|
+
"public-instance-field",
|
|
337
|
+
"protected-instance-field",
|
|
338
|
+
"private-instance-field",
|
|
339
|
+
"public-abstract-field",
|
|
340
|
+
"protected-abstract-field",
|
|
341
|
+
"public-constructor",
|
|
342
|
+
"protected-constructor",
|
|
343
|
+
"private-constructor",
|
|
344
|
+
"public-static-method",
|
|
345
|
+
"protected-static-method",
|
|
346
|
+
"private-static-method",
|
|
347
|
+
"public-decorated-method",
|
|
348
|
+
"protected-decorated-method",
|
|
349
|
+
"private-decorated-method",
|
|
350
|
+
"public-instance-method",
|
|
351
|
+
"protected-instance-method",
|
|
352
|
+
"private-instance-method",
|
|
353
|
+
"public-abstract-method",
|
|
354
|
+
"protected-abstract-method",
|
|
355
|
+
"signature"
|
|
356
|
+
],
|
|
357
|
+
order: "as-written"
|
|
358
|
+
},
|
|
359
|
+
interfaces: {
|
|
360
|
+
memberTypes: ["field", "constructor", "method", "signature"],
|
|
361
|
+
order: "as-written"
|
|
362
|
+
},
|
|
363
|
+
typeLiterals: {
|
|
364
|
+
memberTypes: ["field", "constructor", "method", "signature"],
|
|
365
|
+
order: "as-written"
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
"@typescript-eslint/no-unused-expressions": [
|
|
370
|
+
"error",
|
|
371
|
+
{
|
|
372
|
+
allowShortCircuit: true,
|
|
373
|
+
allowTernary: true,
|
|
374
|
+
allowTaggedTemplates: false,
|
|
375
|
+
enforceForJSX: true
|
|
376
|
+
}
|
|
377
|
+
],
|
|
378
|
+
"@typescript-eslint/no-useless-constructor": "error"
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
// src/rules/vue.ts
|
|
382
|
+
var MAX_LEN_CODE = 85;
|
|
383
|
+
var MAX_LEN_IGNORE_PATTERN = `import\\s*(type)?\\s.*\\s*from\\s*.*';|.*\\s*from\\s*.*';|d="([\\s\\S]*?)"|\\s*component:\\s\\(\\)\\s=>\\simport\\(.*\\)|<svg[^>]*>.*?<\\/svg>|/[^/]*\\/[gimsuy]|d="[^"]*"`;
|
|
384
|
+
var vueRules = {
|
|
385
|
+
"vue/multi-word-component-names": "error",
|
|
386
|
+
"vue/mustache-interpolation-spacing": ["error", "always"],
|
|
387
|
+
"vue/no-unused-vars": ["error", { ignorePattern: "^_" }],
|
|
388
|
+
"vue/html-closing-bracket-spacing": "error",
|
|
389
|
+
"vue/html-closing-bracket-newline": [
|
|
390
|
+
"error",
|
|
391
|
+
{ singleline: "never", multiline: "always" }
|
|
392
|
+
],
|
|
393
|
+
"vue/html-quotes": ["error", "double"],
|
|
394
|
+
"vue/attributes-order": [
|
|
395
|
+
"error",
|
|
396
|
+
{
|
|
397
|
+
order: [
|
|
398
|
+
"LIST_RENDERING",
|
|
399
|
+
"CONDITIONALS",
|
|
400
|
+
"RENDER_MODIFIERS",
|
|
401
|
+
"DEFINITION",
|
|
402
|
+
"CONTENT",
|
|
403
|
+
"TWO_WAY_BINDING",
|
|
404
|
+
"OTHER_DIRECTIVES",
|
|
405
|
+
"SLOT",
|
|
406
|
+
"UNIQUE",
|
|
407
|
+
"GLOBAL",
|
|
408
|
+
"ATTR_STATIC",
|
|
409
|
+
"ATTR_SHORTHAND_BOOL",
|
|
410
|
+
"ATTR_DYNAMIC",
|
|
411
|
+
"EVENTS"
|
|
412
|
+
],
|
|
413
|
+
alphabetical: false
|
|
414
|
+
}
|
|
415
|
+
],
|
|
416
|
+
"vue/component-tags-order": ["error", { order: [["script", "template", "style"]] }],
|
|
417
|
+
"vue/block-tag-newline": "error",
|
|
418
|
+
"vue/padding-line-between-tags": ["error", [{ blankLine: "always", prev: "*", next: "*" }]],
|
|
419
|
+
"vue/max-attributes-per-line": ["error", { singleline: { max: 1 } }],
|
|
420
|
+
"vue/first-attribute-linebreak": ["error", { singleline: "ignore", multiline: "below" }],
|
|
421
|
+
"vue/multiline-html-element-content-newline": ["error", { allowEmptyLines: false }],
|
|
422
|
+
"vue/component-api-style": ["error", ["script-setup"]],
|
|
423
|
+
"vue/array-bracket-spacing": ["error", "always"],
|
|
424
|
+
"vue/html-self-closing": [
|
|
425
|
+
"error",
|
|
426
|
+
{
|
|
427
|
+
html: { void: "never", normal: "always", component: "always" },
|
|
428
|
+
svg: "always",
|
|
429
|
+
math: "always"
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"vue/no-empty-component-block": "error",
|
|
433
|
+
"vue/attribute-hyphenation": ["error", "always", { ignore: [] }],
|
|
434
|
+
"vue/block-order": ["error", { order: ["script", "template", "style"] }],
|
|
435
|
+
"vue/valid-template-root": "error",
|
|
436
|
+
"vue/no-restricted-syntax": [
|
|
437
|
+
"error",
|
|
438
|
+
{
|
|
439
|
+
selector: "VElement[name='template'] CallExpression[callee.name='t']",
|
|
440
|
+
message: "Use $t instead of t inside template. Example: {{ $t('key') }}"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"vue/no-undef-properties": [
|
|
444
|
+
"error",
|
|
445
|
+
{ ignores: ["$t", "$route", "$router", "$attrs", "$slots"] }
|
|
446
|
+
],
|
|
447
|
+
"vue/no-template-shadow": "error",
|
|
448
|
+
"vue/define-props-declaration": ["error", "type-based"],
|
|
449
|
+
"vue/define-macros-order": [
|
|
450
|
+
"error",
|
|
451
|
+
{
|
|
452
|
+
order: [
|
|
453
|
+
"defineProps",
|
|
454
|
+
"defineEmits",
|
|
455
|
+
"defineModel",
|
|
456
|
+
"defineOptions",
|
|
457
|
+
"defineSlots",
|
|
458
|
+
"defineExpose",
|
|
459
|
+
"customMacros"
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
"vue/max-len": [
|
|
464
|
+
"error",
|
|
465
|
+
{ code: MAX_LEN_CODE, template: MAX_LEN_CODE, ignorePattern: MAX_LEN_IGNORE_PATTERN }
|
|
466
|
+
],
|
|
467
|
+
"vue/no-undef-components": ["error", { ignorePatterns: ["^u-", "^router-", "^i18n-"] }]
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
// src/configs/vue.ts
|
|
471
|
+
var vueExtendsRules = [
|
|
472
|
+
eslint.configs.recommended,
|
|
473
|
+
...typescriptEslint.configs.recommended,
|
|
474
|
+
...eslintPluginVue.configs["flat/recommended"]
|
|
475
|
+
];
|
|
476
|
+
var vueLanguageOptions = {
|
|
477
|
+
ecmaVersion: "latest",
|
|
478
|
+
sourceType: "module",
|
|
479
|
+
globals: globals.browser,
|
|
480
|
+
parser: vueParser,
|
|
481
|
+
parserOptions: {
|
|
482
|
+
parser: typescriptEslint.parser,
|
|
483
|
+
extraFileExtensions: [".vue"],
|
|
484
|
+
ecmaFeatures: { jsx: true }
|
|
485
|
+
}
|
|
486
|
+
};
|
|
487
|
+
var vuePlugins = {
|
|
488
|
+
"@stylistic": stylistic,
|
|
489
|
+
"@stylistic/ts": stylisticTs,
|
|
490
|
+
"simple-import-sort": simpleImportSort,
|
|
491
|
+
"unused-imports": unusedImports,
|
|
492
|
+
"import": importPlugin,
|
|
493
|
+
"putout": putout
|
|
494
|
+
};
|
|
495
|
+
var vueAllRules = {
|
|
496
|
+
...stylisticRules,
|
|
497
|
+
...vueRules,
|
|
498
|
+
...simpleImportSortRules,
|
|
499
|
+
...unusedImportsRules,
|
|
500
|
+
...importRules,
|
|
501
|
+
...putoutRules,
|
|
502
|
+
...typescriptRules,
|
|
503
|
+
...formattingRules,
|
|
504
|
+
...complexityRules,
|
|
505
|
+
...restrictedImportsRules,
|
|
506
|
+
...bestPracticesRules
|
|
507
|
+
};
|
|
508
|
+
var vueConfig = {
|
|
509
|
+
extends: vueExtendsRules,
|
|
510
|
+
files: ["**/*.{ts,vue}"],
|
|
511
|
+
languageOptions: vueLanguageOptions,
|
|
512
|
+
plugins: vuePlugins,
|
|
513
|
+
rules: vueAllRules
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
// src/vue.ts
|
|
517
|
+
function defineEslintVue(options = {}) {
|
|
518
|
+
const { ignores = [], overrides = [] } = options;
|
|
519
|
+
const ignoreConfig = {
|
|
520
|
+
...ignoresConfig,
|
|
521
|
+
ignores: [...ignoresConfig.ignores ?? [], ...ignores]
|
|
522
|
+
};
|
|
523
|
+
return typescriptEslint2.config(
|
|
524
|
+
ignoreConfig,
|
|
525
|
+
vueConfig,
|
|
526
|
+
...overrides
|
|
527
|
+
);
|
|
528
|
+
}
|
|
529
|
+
export {
|
|
530
|
+
bestPracticesRules,
|
|
531
|
+
complexityRules,
|
|
532
|
+
defineEslintVue,
|
|
533
|
+
formattingRules,
|
|
534
|
+
ignoresConfig,
|
|
535
|
+
importRules,
|
|
536
|
+
putoutRules,
|
|
537
|
+
restrictedImportsRules,
|
|
538
|
+
simpleImportSortRules,
|
|
539
|
+
stylisticRules,
|
|
540
|
+
typescriptRules,
|
|
541
|
+
unusedImportsRules,
|
|
542
|
+
vueAllRules,
|
|
543
|
+
vueConfig,
|
|
544
|
+
vueExtendsRules,
|
|
545
|
+
vueLanguageOptions,
|
|
546
|
+
vuePlugins,
|
|
547
|
+
vueRules
|
|
548
|
+
};
|
|
549
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/vue.ts","../src/configs/ignores.ts","../src/configs/vue.ts","../src/rules/best-practices.ts","../src/rules/complexity.ts","../src/rules/formatting.ts","../src/rules/imports.ts","../src/rules/stylistic.ts","../src/rules/typescript.ts","../src/rules/vue.ts"],"sourcesContent":["import typescriptEslint from 'typescript-eslint'\n\nimport { ignoresConfig, vueConfig } from './configs'\nimport type { DefineEslintOptions } from './types'\n\n/**\n * Creates an ESLint configuration for Vue projects\n */\nexport function defineEslintVue(options: DefineEslintOptions = {}) {\n const { ignores = [], overrides = [] } = options\n\n const ignoreConfig = {\n ...ignoresConfig,\n ignores: [...(ignoresConfig.ignores ?? []), ...ignores]\n }\n\n return typescriptEslint.config(\n ignoreConfig,\n vueConfig,\n ...overrides\n )\n}\n\nexport {\n ignoresConfig,\n vueAllRules,\n vueConfig,\n vueExtendsRules,\n vueLanguageOptions,\n vuePlugins\n} from './configs'\n\nexport * from './rules'\nexport type { DefineEslintOptions } from './types'\n","export const ignoresConfig = {\n ignores: [\n '**/coverage',\n '**/dist',\n 'node_modules',\n 'vite.config.ts',\n 'vitest.config.ts',\n '**/*.timestamp-*'\n ]\n}\n","import eslint from '@eslint/js'\nimport stylistic from '@stylistic/eslint-plugin'\nimport stylisticTs from '@stylistic/eslint-plugin-ts'\nimport eslintPluginVue from 'eslint-plugin-vue'\nimport importPlugin from 'eslint-plugin-import'\nimport putout from 'eslint-plugin-putout'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\nimport unusedImports from 'eslint-plugin-unused-imports'\nimport globals from 'globals'\nimport typescriptEslint from 'typescript-eslint'\nimport * as vueParser from 'vue-eslint-parser'\n\nimport {\n bestPracticesRules,\n complexityRules,\n formattingRules,\n importRules,\n putoutRules,\n restrictedImportsRules,\n simpleImportSortRules,\n stylisticRules,\n typescriptRules,\n unusedImportsRules,\n vueRules\n} from '../rules'\n\nexport const vueExtendsRules = [\n eslint.configs.recommended,\n ...typescriptEslint.configs.recommended,\n ...eslintPluginVue.configs['flat/recommended']\n]\n\nexport const vueLanguageOptions = {\n ecmaVersion: 'latest' as const,\n sourceType: 'module' as const,\n globals: globals.browser,\n parser: vueParser,\n parserOptions: {\n parser: typescriptEslint.parser,\n extraFileExtensions: ['.vue'],\n ecmaFeatures: { jsx: true }\n }\n}\n\nexport const vuePlugins = {\n '@stylistic': stylistic,\n '@stylistic/ts': stylisticTs,\n 'simple-import-sort': simpleImportSort,\n 'unused-imports': unusedImports,\n 'import': importPlugin,\n 'putout': putout\n}\n\nexport const vueAllRules = {\n ...stylisticRules,\n ...vueRules,\n ...simpleImportSortRules,\n ...unusedImportsRules,\n ...importRules,\n ...putoutRules,\n ...typescriptRules,\n ...formattingRules,\n ...complexityRules,\n ...restrictedImportsRules,\n ...bestPracticesRules\n}\n\nexport const vueConfig = {\n extends: vueExtendsRules,\n files: ['**/*.{ts,vue}'],\n languageOptions: vueLanguageOptions,\n plugins: vuePlugins,\n rules: vueAllRules\n}\n","import type { Linter } from 'eslint'\n\nexport const bestPracticesRules: Linter.RulesRecord = {\n 'no-prototype-builtins': 'off',\n 'no-use-before-define': 'off',\n 'require-await': 'off',\n 'dot-notation': 'error',\n 'no-nested-ternary': 'error',\n 'no-console': ['error', { allow: ['warn', 'error'] }],\n 'prefer-destructuring': [\n 'error',\n {\n VariableDeclarator: { array: true, object: true },\n AssignmentExpression: { array: true, object: false }\n },\n { enforceForRenamedProperties: false }\n ],\n 'eqeqeq': ['error', 'always'],\n 'no-delete-var': 'error',\n '@typescript-eslint/no-use-before-define': [\n 'error',\n {\n functions: false,\n classes: false,\n variables: true,\n typedefs: false,\n enums: false,\n ignoreTypeReferences: true,\n allowNamedExports: true\n }\n ],\n 'no-promise-executor-return': 'warn',\n 'no-async-promise-executor': 'warn',\n 'id-length': ['error', { min: 2, exceptions: ['_'], properties: 'never' }],\n 'curly': ['error', 'multi-line'],\n 'one-var': ['error', 'never'],\n 'no-cond-assign': ['error', 'except-parens'],\n 'camelcase': ['error', { properties: 'never', allow: ['preferred_username', 'grant_type'] }],\n 'new-cap': ['error', { newIsCap: true, capIsNew: false, properties: false }],\n 'accessor-pairs': ['error', { setWithoutGet: true, getWithoutSet: false }],\n 'constructor-super': 'error',\n 'no-array-constructor': 'error',\n 'no-caller': 'error',\n 'no-class-assign': 'error',\n 'no-const-assign': 'error',\n 'no-constant-condition': 'error',\n 'no-eval': 'error',\n 'no-extend-native': 'error',\n 'no-extra-bind': 'error',\n 'no-implied-eval': 'error',\n 'no-inner-declarations': 'error',\n 'no-iterator': 'error',\n 'no-label-var': 'error',\n 'no-labels': 'error',\n 'no-lone-blocks': 'error',\n 'no-multi-str': 'error',\n 'no-new': 'error',\n 'no-new-func': 'error',\n 'no-object-constructor': 'error',\n 'no-new-wrappers': 'error',\n 'no-octal-escape': 'error',\n 'no-proto': 'error',\n 'no-self-compare': 'error',\n 'no-sequences': 'error',\n 'no-template-curly-in-string': 'error',\n 'no-throw-literal': 'error',\n 'no-undef-init': 'error',\n 'no-unmodified-loop-condition': 'error',\n 'no-unneeded-ternary': 'error',\n 'no-useless-call': 'error',\n 'no-useless-computed-key': 'error',\n 'no-useless-rename': 'error',\n 'yoda': 'error',\n 'operator-linebreak': [\n 'error',\n 'before',\n {\n overrides: {\n '=': 'after',\n '+=': 'after',\n '-=': 'after',\n '*=': 'after',\n '/=': 'after'\n }\n }\n ]\n}\n","import type { Linter } from 'eslint'\n\nexport const complexityRules: Linter.RulesRecord = {\n 'max-lines': ['error', 300],\n 'max-nested-callbacks': ['error', 3],\n 'max-statements': ['error', 40],\n 'max-lines-per-function': ['error', 300],\n 'max-params': ['error', 3],\n 'complexity': ['error', { max: 28, variant: 'modified' }],\n 'max-depth': ['error', 3]\n}\n","import type { Linter } from 'eslint'\n\nexport const formattingRules: Linter.RulesRecord = {\n 'object-property-newline': 'error',\n 'object-curly-spacing': ['error', 'always'],\n 'array-bracket-spacing': ['error', 'always'],\n 'no-multi-spaces': 'error',\n 'quotes': ['error', 'single']\n}\n\nexport const putoutRules: Linter.RulesRecord = {\n 'putout/multiple-properties-destructuring': 'error'\n}\n","import type { Linter } from 'eslint'\n\nexport const importRules: Linter.RulesRecord = {\n 'import/first': 'error',\n 'import/newline-after-import': ['error', { count: 1 }],\n 'import/no-self-import': 'error'\n}\n\nexport const simpleImportSortRules: Linter.RulesRecord = {\n 'simple-import-sort/imports': [\n 'error',\n {\n groups: [\n [\n '^vue',\n '^@?\\\\w/?\\\\w',\n '^@?/shared/\\\\w',\n '^@?/entities/\\\\w',\n '^@?/features/\\\\w',\n '^@?/widgets/\\\\w',\n '^@?/pages/\\\\w',\n '^@?/app/\\\\w',\n '^[./]+/shared/\\\\w',\n '^[./]+/entities/\\\\w',\n '^[./]+/features/\\\\w',\n '^[./]+/widgets/\\\\w',\n '^[./]+/pages/\\\\w',\n '^[./]+/app/\\\\w',\n '^'\n ]\n ]\n }\n ],\n 'simple-import-sort/exports': 'error'\n}\n\nexport const unusedImportsRules: Linter.RulesRecord = {\n 'unused-imports/no-unused-imports': 'error',\n 'unused-imports/no-unused-vars': [\n 'error',\n {\n vars: 'all',\n varsIgnorePattern: '^_',\n args: 'after-used',\n argsIgnorePattern: '^_',\n ignoreRestSiblings: true\n }\n ]\n}\n\nexport const restrictedImportsRules: Linter.RulesRecord = {\n 'no-restricted-imports': [\n 'error',\n {\n patterns: [\n {\n group: ['*.ts'],\n message: 'Do not use .ts extension in imports'\n }\n ]\n }\n ]\n}\n","import type { Linter } from 'eslint'\n\nexport const stylisticRules: Linter.RulesRecord = {\n '@stylistic/indent-legacy': 'off',\n '@stylistic/array-element-newline': 'off',\n '@stylistic/array-bracket-newline': 'off',\n '@stylistic/eol-last': ['error', 'always'],\n '@stylistic/indent': [\n 'error',\n 2,\n {\n SwitchCase: 1,\n VariableDeclarator: 'first',\n outerIIFEBody: 1,\n MemberExpression: 1,\n FunctionDeclaration: { parameters: 1, body: 1 },\n FunctionExpression: { parameters: 1, body: 1 },\n CallExpression: { arguments: 1 },\n ArrayExpression: 1,\n ObjectExpression: 1,\n ImportDeclaration: 1,\n flatTernaryExpressions: false,\n ignoreComments: false\n }\n ],\n '@stylistic/no-mixed-spaces-and-tabs': 'error',\n 'no-empty': ['error', { allowEmptyCatch: true }],\n 'no-duplicate-imports': 'error',\n 'prefer-const': ['error', { destructuring: 'all' }],\n '@stylistic/object-curly-newline': [\n 'error',\n {\n ObjectExpression: { multiline: true, minProperties: 1 },\n ImportDeclaration: { multiline: true, minProperties: 2 },\n ExportDeclaration: { multiline: true, minProperties: 2 }\n }\n ],\n '@stylistic/object-property-newline': ['error', { allowAllPropertiesOnSameLine: false }],\n '@stylistic/max-statements-per-line': ['error', { max: 1 }],\n '@stylistic/comma-spacing': 'error',\n '@stylistic/comma-dangle': 'error',\n '@stylistic/semi': 'error',\n '@stylistic/no-extra-semi': 'error',\n '@stylistic/semi-style': ['error', 'last'],\n '@stylistic/semi-spacing': 'error',\n '@stylistic/no-multiple-empty-lines': ['error', { max: 1 }],\n '@stylistic/lines-between-class-members': ['error', 'always'],\n '@stylistic/no-trailing-spaces': 'error',\n '@stylistic/keyword-spacing': 'error',\n '@stylistic/arrow-spacing': 'error',\n '@stylistic/block-spacing': 'error',\n '@stylistic/computed-property-spacing': 'error',\n '@stylistic/generator-star-spacing': 'error',\n '@stylistic/key-spacing': 'error',\n '@stylistic/space-in-parens': 'error',\n '@stylistic/space-infix-ops': 'error',\n '@stylistic/func-call-spacing': 'error',\n '@stylistic/space-before-blocks': 'error',\n '@stylistic/space-before-function-paren': [\n 'error',\n { anonymous: 'never', named: 'never', asyncArrow: 'always' }\n ],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: { delimiter: 'none', requireLast: false },\n singleline: { delimiter: 'comma', requireLast: false }\n }\n ],\n '@stylistic/no-extra-parens': [\n 'error',\n 'all',\n {\n nestedBinaryExpressions: false,\n enforceForArrowConditionals: false,\n enforceForNewInMemberExpressions: false,\n enforceForFunctionPrototypeMethods: true,\n conditionalAssign: false,\n returnAssign: false,\n ignoreJSX: 'all',\n ternaryOperandBinaryExpressions: false\n }\n ],\n '@stylistic/ts/type-annotation-spacing': [\n 'error',\n {\n before: false,\n after: true,\n overrides: { arrow: { before: true, after: true } }\n }\n ],\n '@stylistic/brace-style': 'error',\n '@stylistic/comma-style': 'error',\n '@stylistic/dot-location': ['error', 'property'],\n '@stylistic/new-parens': 'error',\n '@stylistic/no-floating-decimal': 'error',\n '@stylistic/no-whitespace-before-property': 'error',\n '@stylistic/rest-spread-spacing': 'error',\n '@stylistic/space-unary-ops': 'error',\n '@stylistic/spaced-comment': 'error',\n '@stylistic/template-curly-spacing': 'error',\n '@stylistic/wrap-iife': 'error',\n '@stylistic/yield-star-spacing': 'error'\n}\n","import type { Linter } from 'eslint'\n\nexport const typescriptRules: Linter.RulesRecord = {\n '@typescript-eslint/no-restricted-types': 'off',\n '@typescript-eslint/no-non-null-asserted-optional-chain': 'off',\n '@typescript-eslint/no-unused-vars': 'off',\n '@typescript-eslint/prefer-namespace-keyword': 'off',\n '@typescript-eslint/no-unsafe-function-type': 'off',\n '@typescript-eslint/no-inferrable-types': 'off',\n '@typescript-eslint/no-dynamic-delete': 'error',\n '@typescript-eslint/no-namespace': 'off',\n '@typescript-eslint/no-empty-object-type': [\n 'error',\n { allowInterfaces: 'with-single-extends', allowObjectTypes: 'always' }\n ],\n '@typescript-eslint/naming-convention': [\n 'error',\n {\n selector: 'interface',\n format: ['PascalCase'],\n custom: { regex: '^I[A-Z]', match: false }\n }\n ],\n '@typescript-eslint/member-ordering': [\n 'error',\n {\n default: {\n memberTypes: [\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'signature'\n ],\n order: 'as-written'\n },\n interfaces: {\n memberTypes: ['field', 'constructor', 'method', 'signature'],\n order: 'as-written'\n },\n typeLiterals: {\n memberTypes: ['field', 'constructor', 'method', 'signature'],\n order: 'as-written'\n }\n }\n ],\n '@typescript-eslint/no-unused-expressions': [\n 'error',\n {\n allowShortCircuit: true,\n allowTernary: true,\n allowTaggedTemplates: false,\n enforceForJSX: true\n }\n ],\n '@typescript-eslint/no-useless-constructor': 'error'\n}\n","import type { Linter } from 'eslint'\n\nconst MAX_LEN_CODE = 85\nconst MAX_LEN_IGNORE_PATTERN = `import\\\\s*(type)?\\\\s.*\\\\s*from\\\\s*.*';|.*\\\\s*from\\\\s*.*';|d=\"([\\\\s\\\\S]*?)\"|\\\\s*component:\\\\s\\\\(\\\\)\\\\s=>\\\\simport\\\\(.*\\\\)|<svg[^>]*>.*?<\\\\/svg>|/[^/]*\\\\/[gimsuy]|d=\"[^\"]*\"`\n\nexport const vueRules: Linter.RulesRecord = {\n 'vue/multi-word-component-names': 'error',\n 'vue/mustache-interpolation-spacing': ['error', 'always'],\n 'vue/no-unused-vars': ['error', { ignorePattern: '^_' }],\n 'vue/html-closing-bracket-spacing': 'error',\n 'vue/html-closing-bracket-newline': [\n 'error',\n { singleline: 'never', multiline: 'always' }\n ],\n 'vue/html-quotes': ['error', 'double'],\n 'vue/attributes-order': [\n 'error',\n {\n order: [\n 'LIST_RENDERING',\n 'CONDITIONALS',\n 'RENDER_MODIFIERS',\n 'DEFINITION',\n 'CONTENT',\n 'TWO_WAY_BINDING',\n 'OTHER_DIRECTIVES',\n 'SLOT',\n 'UNIQUE',\n 'GLOBAL',\n 'ATTR_STATIC',\n 'ATTR_SHORTHAND_BOOL',\n 'ATTR_DYNAMIC',\n 'EVENTS'\n ],\n alphabetical: false\n }\n ],\n 'vue/component-tags-order': ['error', { order: [['script', 'template', 'style']] }],\n 'vue/block-tag-newline': 'error',\n 'vue/padding-line-between-tags': ['error', [{ blankLine: 'always', prev: '*', next: '*' }]],\n 'vue/max-attributes-per-line': ['error', { singleline: { max: 1 } }],\n 'vue/first-attribute-linebreak': ['error', { singleline: 'ignore', multiline: 'below' }],\n 'vue/multiline-html-element-content-newline': ['error', { allowEmptyLines: false }],\n 'vue/component-api-style': ['error', ['script-setup']],\n 'vue/array-bracket-spacing': ['error', 'always'],\n 'vue/html-self-closing': [\n 'error',\n {\n html: { void: 'never', normal: 'always', component: 'always' },\n svg: 'always',\n math: 'always'\n }\n ],\n 'vue/no-empty-component-block': 'error',\n 'vue/attribute-hyphenation': ['error', 'always', { ignore: [] }],\n 'vue/block-order': ['error', { order: ['script', 'template', 'style'] }],\n 'vue/valid-template-root': 'error',\n 'vue/no-restricted-syntax': [\n 'error',\n {\n selector: \"VElement[name='template'] CallExpression[callee.name='t']\",\n message: \"Use $t instead of t inside template. Example: {{ $t('key') }}\"\n }\n ],\n 'vue/no-undef-properties': [\n 'error',\n { ignores: ['$t', '$route', '$router', '$attrs', '$slots'] }\n ],\n 'vue/no-template-shadow': 'error',\n 'vue/define-props-declaration': ['error', 'type-based'],\n 'vue/define-macros-order': [\n 'error',\n {\n order: [\n 'defineProps',\n 'defineEmits',\n 'defineModel',\n 'defineOptions',\n 'defineSlots',\n 'defineExpose',\n 'customMacros'\n ]\n }\n ],\n 'vue/max-len': [\n 'error',\n { code: MAX_LEN_CODE, template: MAX_LEN_CODE, ignorePattern: MAX_LEN_IGNORE_PATTERN }\n ],\n 'vue/no-undef-components': ['error', { ignorePatterns: ['^u-', '^router-', '^i18n-'] }]\n}\n"],"mappings":"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","names":["typescriptEslint","typescriptEslint"]}
|