@sxzz/eslint-config 3.6.1 → 3.6.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.
- package/README.md +15 -3
- package/dist/index.cjs +158 -165
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +158 -165
- package/package.json +11 -9
package/README.md
CHANGED
|
@@ -6,9 +6,12 @@ Flat ESLint config for JavaScript, TypeScript, Vue 2, Vue 3, Prettier.
|
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
- Format with Prettier.
|
|
10
|
+
- Designed to work with TypeScript, Vue 2 and 3 out-of-box.
|
|
11
11
|
- Support JSON(5), YAML, Markdown...
|
|
12
|
+
- Sort imports, `package.json`, `tsconfig.json`...
|
|
13
|
+
- [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new), compose easily!
|
|
14
|
+
- Reasonable defaults, best practices, only one-line of config
|
|
12
15
|
|
|
13
16
|
## Install
|
|
14
17
|
|
|
@@ -35,7 +38,7 @@ export default sxzz(
|
|
|
35
38
|
[
|
|
36
39
|
/* your custom config */
|
|
37
40
|
],
|
|
38
|
-
{ vue: true, prettier: true, markdown: true }
|
|
41
|
+
{ vue: true, prettier: true, markdown: true, unocss: false }
|
|
39
42
|
)
|
|
40
43
|
```
|
|
41
44
|
|
|
@@ -47,6 +50,15 @@ export default sxzz(
|
|
|
47
50
|
}
|
|
48
51
|
```
|
|
49
52
|
|
|
53
|
+
## Comparing to [`@antfu/eslint-config`](https://github.com/antfu/eslint-config)
|
|
54
|
+
|
|
55
|
+
Most of the rules are the same, but there are some differences:
|
|
56
|
+
|
|
57
|
+
- Use Prettier instead of [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic).
|
|
58
|
+
- Support both Vue 2 and Vue 3.
|
|
59
|
+
- Support Vue Reactivity Transform.
|
|
60
|
+
- More stricter rules.
|
|
61
|
+
|
|
50
62
|
## Sponsors
|
|
51
63
|
|
|
52
64
|
<p align="center">
|
package/dist/index.cjs
CHANGED
|
@@ -115,18 +115,19 @@ var parserTypeScript = __toESM(require("@typescript-eslint/parser"), 1);
|
|
|
115
115
|
var parserVue = __toESM(require("vue-eslint-parser"), 1);
|
|
116
116
|
var parserYml = __toESM(require("yaml-eslint-parser"), 1);
|
|
117
117
|
var parserJsonc = __toESM(require("jsonc-eslint-parser"), 1);
|
|
118
|
+
// @__NO_SIDE_EFFECTS__
|
|
118
119
|
function interopDefault(m) {
|
|
119
120
|
return m.default || m;
|
|
120
121
|
}
|
|
121
|
-
var pluginAntfu = interopDefault(_pluginAntfu);
|
|
122
|
-
var pluginComments = interopDefault(_pluginComments);
|
|
123
|
-
var pluginMarkdown = interopDefault(_pluginMarkdown);
|
|
124
|
-
var pluginTypeScript = interopDefault(_pluginTypeScript);
|
|
125
|
-
var pluginUnicorn = interopDefault(_pluginUnicorn);
|
|
126
|
-
var pluginVue = interopDefault(_pluginVue);
|
|
127
|
-
var pluginUnocss = interopDefault(_pluginUnocss);
|
|
128
|
-
var pluginPrettier = interopDefault(_pluginPrettier);
|
|
129
|
-
var configPrettier = interopDefault(_configPrettier);
|
|
122
|
+
var pluginAntfu = /* @__PURE__ */ interopDefault(_pluginAntfu);
|
|
123
|
+
var pluginComments = /* @__PURE__ */ interopDefault(_pluginComments);
|
|
124
|
+
var pluginMarkdown = /* @__PURE__ */ interopDefault(_pluginMarkdown);
|
|
125
|
+
var pluginTypeScript = /* @__PURE__ */ interopDefault(_pluginTypeScript);
|
|
126
|
+
var pluginUnicorn = /* @__PURE__ */ interopDefault(_pluginUnicorn);
|
|
127
|
+
var pluginVue = /* @__PURE__ */ interopDefault(_pluginVue);
|
|
128
|
+
var pluginUnocss = /* @__PURE__ */ interopDefault(_pluginUnocss);
|
|
129
|
+
var pluginPrettier = /* @__PURE__ */ interopDefault(_pluginPrettier);
|
|
130
|
+
var configPrettier = /* @__PURE__ */ interopDefault(_configPrettier);
|
|
130
131
|
|
|
131
132
|
// src/configs/comments.ts
|
|
132
133
|
var comments = [
|
|
@@ -162,60 +163,46 @@ var GLOB_MARKDOWN = "**/*.md";
|
|
|
162
163
|
var GLOB_VUE = "**/*.vue";
|
|
163
164
|
var GLOB_YAML = "**/*.y?(a)ml";
|
|
164
165
|
var GLOB_HTML = "**/*.htm?(l)";
|
|
165
|
-
var GLOB_ALL_SRC =
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
"**/
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
"**/.nuxt",
|
|
206
|
-
"**/.vercel",
|
|
207
|
-
"**/.changeset",
|
|
208
|
-
"**/.idea",
|
|
209
|
-
"**/.output",
|
|
210
|
-
"**/.vite-inspect",
|
|
211
|
-
"**/CHANGELOG*.md",
|
|
212
|
-
"**/*.min.*",
|
|
213
|
-
"**/LICENSE*",
|
|
214
|
-
"**/__snapshots__",
|
|
215
|
-
"**/auto-import?(s).d.ts",
|
|
216
|
-
"**/components.d.ts"
|
|
217
|
-
]
|
|
218
|
-
);
|
|
166
|
+
var GLOB_ALL_SRC = [
|
|
167
|
+
GLOB_SRC,
|
|
168
|
+
GLOB_STYLE,
|
|
169
|
+
GLOB_JSON,
|
|
170
|
+
GLOB_JSON5,
|
|
171
|
+
GLOB_MARKDOWN,
|
|
172
|
+
GLOB_VUE,
|
|
173
|
+
GLOB_YAML,
|
|
174
|
+
GLOB_HTML
|
|
175
|
+
];
|
|
176
|
+
var GLOB_NODE_MODULES = "**/node_modules";
|
|
177
|
+
var GLOB_DIST = "**/dist";
|
|
178
|
+
var GLOB_LOCKFILE = [
|
|
179
|
+
"**/package-lock.json",
|
|
180
|
+
"**/yarn.lock",
|
|
181
|
+
"**/pnpm-lock.yaml",
|
|
182
|
+
"**/bun.lockb"
|
|
183
|
+
];
|
|
184
|
+
var GLOB_EXCLUDE = [
|
|
185
|
+
GLOB_NODE_MODULES,
|
|
186
|
+
GLOB_DIST,
|
|
187
|
+
...GLOB_LOCKFILE,
|
|
188
|
+
"**/output",
|
|
189
|
+
"**/coverage",
|
|
190
|
+
"**/temp",
|
|
191
|
+
"**/fixtures",
|
|
192
|
+
"**/.vitepress/cache",
|
|
193
|
+
"**/.nuxt",
|
|
194
|
+
"**/.vercel",
|
|
195
|
+
"**/.changeset",
|
|
196
|
+
"**/.idea",
|
|
197
|
+
"**/.output",
|
|
198
|
+
"**/.vite-inspect",
|
|
199
|
+
"**/CHANGELOG*.md",
|
|
200
|
+
"**/*.min.*",
|
|
201
|
+
"**/LICENSE*",
|
|
202
|
+
"**/__snapshots__",
|
|
203
|
+
"**/auto-import?(s).d.ts",
|
|
204
|
+
"**/components.d.ts"
|
|
205
|
+
];
|
|
219
206
|
|
|
220
207
|
// src/configs/ignores.ts
|
|
221
208
|
var ignores = [{ ignores: GLOB_EXCLUDE }];
|
|
@@ -224,10 +211,12 @@ var ignores = [{ ignores: GLOB_EXCLUDE }];
|
|
|
224
211
|
var imports = [
|
|
225
212
|
{
|
|
226
213
|
plugins: {
|
|
227
|
-
|
|
228
|
-
|
|
214
|
+
antfu: pluginAntfu,
|
|
215
|
+
import: pluginImport
|
|
229
216
|
},
|
|
230
217
|
rules: {
|
|
218
|
+
"antfu/import-dedupe": "error",
|
|
219
|
+
"antfu/prefer-inline-type-import": "error",
|
|
231
220
|
"import/first": "error",
|
|
232
221
|
"import/no-default-export": "error",
|
|
233
222
|
"import/no-duplicates": "error",
|
|
@@ -248,12 +237,10 @@ var imports = [
|
|
|
248
237
|
"object",
|
|
249
238
|
"type"
|
|
250
239
|
],
|
|
251
|
-
pathGroups: [{ pattern: "{{@,~}/,#}**"
|
|
240
|
+
pathGroups: [{ group: "internal", pattern: "{{@,~}/,#}**" }],
|
|
252
241
|
pathGroupsExcludedImportTypes: ["type"]
|
|
253
242
|
}
|
|
254
|
-
]
|
|
255
|
-
"antfu/import-dedupe": "error",
|
|
256
|
-
"antfu/prefer-inline-type-import": "error"
|
|
243
|
+
]
|
|
257
244
|
}
|
|
258
245
|
},
|
|
259
246
|
{
|
|
@@ -305,14 +292,20 @@ var javascript = [
|
|
|
305
292
|
"unused-imports": pluginUnusedImports
|
|
306
293
|
},
|
|
307
294
|
rules: {
|
|
295
|
+
"array-callback-return": "error",
|
|
296
|
+
"block-scoped-var": "error",
|
|
308
297
|
"constructor-super": "error",
|
|
298
|
+
"dot-notation": "warn",
|
|
299
|
+
eqeqeq: ["error", "smart"],
|
|
309
300
|
"for-direction": "error",
|
|
310
301
|
"getter-return": "error",
|
|
302
|
+
"no-alert": "warn",
|
|
311
303
|
"no-async-promise-executor": "error",
|
|
312
304
|
"no-case-declarations": "error",
|
|
313
305
|
"no-class-assign": "error",
|
|
314
306
|
"no-compare-neg-zero": "error",
|
|
315
307
|
"no-cond-assign": "error",
|
|
308
|
+
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
316
309
|
"no-const-assign": "error",
|
|
317
310
|
"no-constant-condition": "error",
|
|
318
311
|
"no-control-regex": "error",
|
|
@@ -323,6 +316,7 @@ var javascript = [
|
|
|
323
316
|
"no-dupe-else-if": "error",
|
|
324
317
|
"no-dupe-keys": "error",
|
|
325
318
|
"no-duplicate-case": "error",
|
|
319
|
+
"no-duplicate-imports": "error",
|
|
326
320
|
"no-empty": ["error", { allowEmptyCatch: true }],
|
|
327
321
|
"no-empty-character-class": "error",
|
|
328
322
|
"no-empty-pattern": "error",
|
|
@@ -335,9 +329,11 @@ var javascript = [
|
|
|
335
329
|
"no-inner-declarations": "error",
|
|
336
330
|
"no-invalid-regexp": "error",
|
|
337
331
|
"no-irregular-whitespace": "error",
|
|
332
|
+
"no-lonely-if": "error",
|
|
338
333
|
"no-loss-of-precision": "error",
|
|
339
334
|
"no-misleading-character-class": "error",
|
|
340
335
|
"no-mixed-spaces-and-tabs": "error",
|
|
336
|
+
"no-multi-str": "error",
|
|
341
337
|
"no-new-symbol": "error",
|
|
342
338
|
"no-nonoctal-decimal-escape": "error",
|
|
343
339
|
"no-obj-calls": "error",
|
|
@@ -345,6 +341,13 @@ var javascript = [
|
|
|
345
341
|
"no-prototype-builtins": "error",
|
|
346
342
|
"no-redeclare": "error",
|
|
347
343
|
"no-regex-spaces": "error",
|
|
344
|
+
"no-restricted-syntax": [
|
|
345
|
+
"error",
|
|
346
|
+
"ForInStatement",
|
|
347
|
+
"LabeledStatement",
|
|
348
|
+
"WithStatement"
|
|
349
|
+
],
|
|
350
|
+
"no-return-await": "warn",
|
|
348
351
|
"no-self-assign": "error",
|
|
349
352
|
"no-setter-return": "error",
|
|
350
353
|
"no-shadow-restricted-names": "error",
|
|
@@ -356,37 +359,26 @@ var javascript = [
|
|
|
356
359
|
"no-unsafe-finally": "error",
|
|
357
360
|
"no-unsafe-negation": "error",
|
|
358
361
|
"no-unsafe-optional-chaining": "error",
|
|
362
|
+
"no-unused-expressions": [
|
|
363
|
+
"error",
|
|
364
|
+
{
|
|
365
|
+
allowShortCircuit: true,
|
|
366
|
+
allowTaggedTemplates: true,
|
|
367
|
+
allowTernary: true
|
|
368
|
+
}
|
|
369
|
+
],
|
|
359
370
|
"no-unused-labels": "error",
|
|
360
371
|
"no-unused-vars": "off",
|
|
361
372
|
"no-useless-backreference": "error",
|
|
362
373
|
"no-useless-catch": "error",
|
|
363
374
|
"no-useless-escape": "error",
|
|
375
|
+
"no-void": "error",
|
|
364
376
|
"no-with": "error",
|
|
365
|
-
"
|
|
366
|
-
"use-isnan": [
|
|
367
|
-
"error",
|
|
368
|
-
{ enforceForIndexOf: true, enforceForSwitchCase: true }
|
|
369
|
-
],
|
|
370
|
-
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
371
|
-
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
372
|
-
"no-restricted-syntax": [
|
|
373
|
-
"error",
|
|
374
|
-
"ForInStatement",
|
|
375
|
-
"LabeledStatement",
|
|
376
|
-
"WithStatement"
|
|
377
|
-
],
|
|
378
|
-
"no-return-await": "warn",
|
|
379
|
-
"sort-imports": [
|
|
377
|
+
"object-shorthand": [
|
|
380
378
|
"error",
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
ignoreDeclarationSort: true,
|
|
384
|
-
ignoreMemberSort: false,
|
|
385
|
-
memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
|
|
386
|
-
allowSeparatedGroups: false
|
|
387
|
-
}
|
|
379
|
+
"always",
|
|
380
|
+
{ avoidQuotes: true, ignoreConstructors: false }
|
|
388
381
|
],
|
|
389
|
-
"dot-notation": "warn",
|
|
390
382
|
"prefer-arrow-callback": [
|
|
391
383
|
"error",
|
|
392
384
|
{ allowNamedFunctions: false, allowUnboundThis: true }
|
|
@@ -396,40 +388,35 @@ var javascript = [
|
|
|
396
388
|
{ destructuring: "all", ignoreReadBeforeAssign: true }
|
|
397
389
|
],
|
|
398
390
|
"prefer-exponentiation-operator": "error",
|
|
399
|
-
"object-shorthand": [
|
|
400
|
-
"error",
|
|
401
|
-
"always",
|
|
402
|
-
{ ignoreConstructors: false, avoidQuotes: true }
|
|
403
|
-
],
|
|
404
391
|
"prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
|
|
405
392
|
"prefer-rest-params": "error",
|
|
406
393
|
"prefer-spread": "error",
|
|
407
394
|
"prefer-template": "error",
|
|
408
395
|
"require-await": "error",
|
|
409
|
-
"
|
|
410
|
-
"
|
|
411
|
-
eqeqeq: ["error", "smart"],
|
|
412
|
-
"no-alert": "warn",
|
|
413
|
-
"no-multi-str": "error",
|
|
414
|
-
"no-void": "error",
|
|
415
|
-
"no-duplicate-imports": "error",
|
|
416
|
-
"no-unused-expressions": [
|
|
396
|
+
"require-yield": "error",
|
|
397
|
+
"sort-imports": [
|
|
417
398
|
"error",
|
|
418
399
|
{
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
400
|
+
allowSeparatedGroups: false,
|
|
401
|
+
ignoreCase: false,
|
|
402
|
+
ignoreDeclarationSort: true,
|
|
403
|
+
ignoreMemberSort: false,
|
|
404
|
+
memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
|
|
422
405
|
}
|
|
423
406
|
],
|
|
424
|
-
"no-lonely-if": "error",
|
|
425
|
-
"wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
|
|
426
|
-
"vars-on-top": "error",
|
|
427
407
|
"unicode-bom": ["error", "never"],
|
|
428
408
|
"unused-imports/no-unused-imports": isInEditor ? "off" : "error",
|
|
429
409
|
"unused-imports/no-unused-vars": [
|
|
430
410
|
"error",
|
|
431
411
|
{ args: "after-used", ignoreRestSiblings: true }
|
|
432
|
-
]
|
|
412
|
+
],
|
|
413
|
+
"use-isnan": [
|
|
414
|
+
"error",
|
|
415
|
+
{ enforceForIndexOf: true, enforceForSwitchCase: true }
|
|
416
|
+
],
|
|
417
|
+
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
418
|
+
"vars-on-top": "error",
|
|
419
|
+
"wrap-iife": ["error", "any", { functionPrototypeMethods: true }]
|
|
433
420
|
}
|
|
434
421
|
},
|
|
435
422
|
{
|
|
@@ -450,12 +437,12 @@ var javascript = [
|
|
|
450
437
|
var jsonc = [
|
|
451
438
|
{
|
|
452
439
|
files: [GLOB_JSON, GLOB_JSON5, GLOB_JSONC],
|
|
453
|
-
plugins: {
|
|
454
|
-
jsonc: pluginJsonc
|
|
455
|
-
},
|
|
456
440
|
languageOptions: {
|
|
457
441
|
parser: parserJsonc
|
|
458
442
|
},
|
|
443
|
+
plugins: {
|
|
444
|
+
jsonc: pluginJsonc
|
|
445
|
+
},
|
|
459
446
|
rules: {
|
|
460
447
|
...pluginJsonc.configs["recommended-with-jsonc"].rules,
|
|
461
448
|
"jsonc/quote-props": "off",
|
|
@@ -486,21 +473,21 @@ var markdown = [
|
|
|
486
473
|
...pluginMarkdown.configs.recommended.overrides[1].rules,
|
|
487
474
|
"@typescript-eslint/comma-dangle": "off",
|
|
488
475
|
"@typescript-eslint/consistent-type-imports": "off",
|
|
476
|
+
"@typescript-eslint/no-extraneous-class": "off",
|
|
489
477
|
"@typescript-eslint/no-namespace": "off",
|
|
490
478
|
"@typescript-eslint/no-redeclare": "off",
|
|
491
479
|
"@typescript-eslint/no-require-imports": "off",
|
|
492
480
|
"@typescript-eslint/no-unused-vars": "off",
|
|
493
481
|
"@typescript-eslint/no-use-before-define": "off",
|
|
494
482
|
"@typescript-eslint/no-var-requires": "off",
|
|
495
|
-
"@typescript-eslint/no-extraneous-class": "off",
|
|
496
483
|
"no-alert": "off",
|
|
497
484
|
"no-console": "off",
|
|
498
485
|
"no-restricted-imports": "off",
|
|
499
486
|
"no-undef": "off",
|
|
500
487
|
"no-unused-expressions": "off",
|
|
501
488
|
"no-unused-vars": "off",
|
|
502
|
-
"unused-imports/no-unused-
|
|
503
|
-
"unused-imports/no-unused-
|
|
489
|
+
"unused-imports/no-unused-imports": "off",
|
|
490
|
+
"unused-imports/no-unused-vars": "off"
|
|
504
491
|
}
|
|
505
492
|
}
|
|
506
493
|
];
|
|
@@ -529,14 +516,13 @@ var sortPackageJson = [
|
|
|
529
516
|
"jsonc/sort-array-values": [
|
|
530
517
|
"error",
|
|
531
518
|
{
|
|
532
|
-
|
|
533
|
-
|
|
519
|
+
order: { type: "asc" },
|
|
520
|
+
pathPattern: "^files$"
|
|
534
521
|
}
|
|
535
522
|
],
|
|
536
523
|
"jsonc/sort-keys": [
|
|
537
524
|
"error",
|
|
538
525
|
{
|
|
539
|
-
pathPattern: "^$",
|
|
540
526
|
order: [
|
|
541
527
|
"name",
|
|
542
528
|
"version",
|
|
@@ -580,15 +566,16 @@ var sortPackageJson = [
|
|
|
580
566
|
"lint-staged",
|
|
581
567
|
"eslintConfig",
|
|
582
568
|
"prettier"
|
|
583
|
-
]
|
|
569
|
+
],
|
|
570
|
+
pathPattern: "^$"
|
|
584
571
|
},
|
|
585
572
|
{
|
|
586
|
-
|
|
587
|
-
|
|
573
|
+
order: { type: "asc" },
|
|
574
|
+
pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$"
|
|
588
575
|
},
|
|
589
576
|
{
|
|
590
|
-
|
|
591
|
-
|
|
577
|
+
order: ["types", "require", "import", "default"],
|
|
578
|
+
pathPattern: "^exports.*$"
|
|
592
579
|
},
|
|
593
580
|
{
|
|
594
581
|
order: { type: "asc" },
|
|
@@ -736,12 +723,12 @@ var typescript = [
|
|
|
736
723
|
}
|
|
737
724
|
},
|
|
738
725
|
plugins: {
|
|
739
|
-
"@typescript-eslint": pluginTypeScript
|
|
726
|
+
"@typescript-eslint": pluginTypeScript,
|
|
727
|
+
antfu: pluginAntfu
|
|
740
728
|
},
|
|
741
729
|
rules: {
|
|
742
730
|
...pluginTypeScript.configs["eslint-recommended"].overrides[0].rules,
|
|
743
731
|
...pluginTypeScript.configs.strict.rules,
|
|
744
|
-
"@typescript-eslint/no-redeclare": "error",
|
|
745
732
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
746
733
|
"@typescript-eslint/ban-types": "off",
|
|
747
734
|
"@typescript-eslint/consistent-type-assertions": [
|
|
@@ -753,13 +740,19 @@ var typescript = [
|
|
|
753
740
|
],
|
|
754
741
|
"@typescript-eslint/consistent-type-imports": [
|
|
755
742
|
"error",
|
|
756
|
-
{ fixStyle: "inline-type-imports"
|
|
743
|
+
{ disallowTypeAnnotations: false, fixStyle: "inline-type-imports" }
|
|
757
744
|
],
|
|
758
745
|
"@typescript-eslint/no-explicit-any": "off",
|
|
759
746
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
760
|
-
"@typescript-eslint/
|
|
747
|
+
"@typescript-eslint/no-redeclare": "error",
|
|
761
748
|
// handled by unused-imports/no-unused-imports
|
|
762
|
-
"@typescript-eslint/no-unused-vars": "off"
|
|
749
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
750
|
+
"@typescript-eslint/prefer-as-const": "warn",
|
|
751
|
+
"@typescript-eslint/prefer-literal-enum-member": [
|
|
752
|
+
"error",
|
|
753
|
+
{ allowBitwiseExpressions: true }
|
|
754
|
+
],
|
|
755
|
+
"antfu/no-const-enum": "error"
|
|
763
756
|
}
|
|
764
757
|
},
|
|
765
758
|
{
|
|
@@ -885,11 +878,11 @@ var reactivityTransform = [
|
|
|
885
878
|
globals: {
|
|
886
879
|
$: "readonly",
|
|
887
880
|
$$: "readonly",
|
|
888
|
-
$ref: "readonly",
|
|
889
881
|
$computed: "readonly",
|
|
882
|
+
$customRef: "readonly",
|
|
883
|
+
$ref: "readonly",
|
|
890
884
|
$shallowRef: "readonly",
|
|
891
|
-
$toRef: "readonly"
|
|
892
|
-
$customRef: "readonly"
|
|
885
|
+
$toRef: "readonly"
|
|
893
886
|
}
|
|
894
887
|
},
|
|
895
888
|
plugins: {
|
|
@@ -901,41 +894,41 @@ var reactivityTransform = [
|
|
|
901
894
|
}
|
|
902
895
|
];
|
|
903
896
|
var vueCustomRules = {
|
|
904
|
-
"vue/
|
|
905
|
-
"vue/
|
|
906
|
-
"vue/
|
|
907
|
-
"vue/require-prop-types": "off",
|
|
908
|
-
"vue/require-default-prop": "off",
|
|
897
|
+
"vue/block-order": ["error", { order: ["script", "template", "style"] }],
|
|
898
|
+
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
899
|
+
"vue/eqeqeq": ["error", "smart"],
|
|
909
900
|
"vue/html-self-closing": [
|
|
910
901
|
"error",
|
|
911
902
|
{
|
|
912
903
|
html: {
|
|
913
|
-
|
|
904
|
+
component: "always",
|
|
914
905
|
normal: "always",
|
|
915
|
-
|
|
906
|
+
void: "always"
|
|
916
907
|
},
|
|
917
|
-
|
|
918
|
-
|
|
908
|
+
math: "always",
|
|
909
|
+
svg: "always"
|
|
919
910
|
}
|
|
920
911
|
],
|
|
921
|
-
"vue/
|
|
922
|
-
"vue/
|
|
923
|
-
"vue/no-useless-v-bind": "error",
|
|
924
|
-
"vue/no-unused-refs": "error",
|
|
925
|
-
"vue/padding-line-between-blocks": ["error", "always"],
|
|
926
|
-
"vue/prefer-template": "error",
|
|
927
|
-
"vue/eqeqeq": ["error", "smart"],
|
|
912
|
+
"vue/max-attributes-per-line": "off",
|
|
913
|
+
"vue/multi-word-component-names": "off",
|
|
928
914
|
"vue/no-constant-condition": "warn",
|
|
915
|
+
"vue/no-empty-pattern": "error",
|
|
916
|
+
"vue/no-loss-of-precision": "error",
|
|
917
|
+
"vue/no-unused-refs": "error",
|
|
918
|
+
"vue/no-useless-v-bind": "error",
|
|
919
|
+
"vue/no-v-html": "off",
|
|
929
920
|
"vue/object-shorthand": [
|
|
930
921
|
"error",
|
|
931
922
|
"always",
|
|
932
923
|
{
|
|
933
|
-
|
|
934
|
-
|
|
924
|
+
avoidQuotes: true,
|
|
925
|
+
ignoreConstructors: false
|
|
935
926
|
}
|
|
936
927
|
],
|
|
937
|
-
"vue/
|
|
938
|
-
"vue/
|
|
928
|
+
"vue/padding-line-between-blocks": ["error", "always"],
|
|
929
|
+
"vue/prefer-template": "error",
|
|
930
|
+
"vue/require-default-prop": "off",
|
|
931
|
+
"vue/require-prop-types": "off"
|
|
939
932
|
};
|
|
940
933
|
var vue3Rules = {
|
|
941
934
|
...pluginVue.configs.base.rules,
|
|
@@ -952,21 +945,21 @@ var vue2Rules = {
|
|
|
952
945
|
var vue = [
|
|
953
946
|
{
|
|
954
947
|
files: [GLOB_VUE],
|
|
955
|
-
plugins: {
|
|
956
|
-
vue: pluginVue,
|
|
957
|
-
"@typescript-eslint": import_eslint_plugin.default
|
|
958
|
-
},
|
|
959
948
|
languageOptions: {
|
|
960
949
|
parser: parserVue,
|
|
961
950
|
parserOptions: {
|
|
962
|
-
parser: "@typescript-eslint/parser",
|
|
963
|
-
sourceType: "module",
|
|
964
|
-
extraFileExtensions: [".vue"],
|
|
965
951
|
ecmaFeatures: {
|
|
966
952
|
jsx: true
|
|
967
|
-
}
|
|
953
|
+
},
|
|
954
|
+
extraFileExtensions: [".vue"],
|
|
955
|
+
parser: "@typescript-eslint/parser",
|
|
956
|
+
sourceType: "module"
|
|
968
957
|
}
|
|
969
958
|
},
|
|
959
|
+
plugins: {
|
|
960
|
+
"@typescript-eslint": import_eslint_plugin.default,
|
|
961
|
+
vue: pluginVue
|
|
962
|
+
},
|
|
970
963
|
processor: pluginVue.processors[".vue"],
|
|
971
964
|
rules: {
|
|
972
965
|
...typescript[0].rules
|
|
@@ -988,12 +981,12 @@ var vue = [
|
|
|
988
981
|
var yml = [
|
|
989
982
|
{
|
|
990
983
|
files: [GLOB_YAML],
|
|
991
|
-
plugins: {
|
|
992
|
-
yml: pluginYml
|
|
993
|
-
},
|
|
994
984
|
languageOptions: {
|
|
995
985
|
parser: parserYml
|
|
996
986
|
},
|
|
987
|
+
plugins: {
|
|
988
|
+
yml: pluginYml
|
|
989
|
+
},
|
|
997
990
|
rules: {
|
|
998
991
|
...pluginYml.configs.standard.rules,
|
|
999
992
|
...pluginYml.configs.prettier.rules,
|
package/dist/index.d.cts
CHANGED
|
@@ -67,8 +67,8 @@ declare const GLOB_VUE = "**/*.vue";
|
|
|
67
67
|
declare const GLOB_YAML = "**/*.y?(a)ml";
|
|
68
68
|
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
69
69
|
declare const GLOB_ALL_SRC: string[];
|
|
70
|
-
declare const GLOB_NODE_MODULES
|
|
71
|
-
declare const GLOB_DIST
|
|
70
|
+
declare const GLOB_NODE_MODULES: "**/node_modules";
|
|
71
|
+
declare const GLOB_DIST: "**/dist";
|
|
72
72
|
declare const GLOB_LOCKFILE: string[];
|
|
73
73
|
declare const GLOB_EXCLUDE: string[];
|
|
74
74
|
|
package/dist/index.d.ts
CHANGED
|
@@ -67,8 +67,8 @@ declare const GLOB_VUE = "**/*.vue";
|
|
|
67
67
|
declare const GLOB_YAML = "**/*.y?(a)ml";
|
|
68
68
|
declare const GLOB_HTML = "**/*.htm?(l)";
|
|
69
69
|
declare const GLOB_ALL_SRC: string[];
|
|
70
|
-
declare const GLOB_NODE_MODULES
|
|
71
|
-
declare const GLOB_DIST
|
|
70
|
+
declare const GLOB_NODE_MODULES: "**/node_modules";
|
|
71
|
+
declare const GLOB_DIST: "**/dist";
|
|
72
72
|
declare const GLOB_LOCKFILE: string[];
|
|
73
73
|
declare const GLOB_EXCLUDE: string[];
|
|
74
74
|
|
package/dist/index.js
CHANGED
|
@@ -16,18 +16,19 @@ import * as parserTypeScript from "@typescript-eslint/parser";
|
|
|
16
16
|
import * as parserVue from "vue-eslint-parser";
|
|
17
17
|
import * as parserYml from "yaml-eslint-parser";
|
|
18
18
|
import * as parserJsonc from "jsonc-eslint-parser";
|
|
19
|
+
// @__NO_SIDE_EFFECTS__
|
|
19
20
|
function interopDefault(m) {
|
|
20
21
|
return m.default || m;
|
|
21
22
|
}
|
|
22
|
-
var pluginAntfu = interopDefault(_pluginAntfu);
|
|
23
|
-
var pluginComments = interopDefault(_pluginComments);
|
|
24
|
-
var pluginMarkdown = interopDefault(_pluginMarkdown);
|
|
25
|
-
var pluginTypeScript = interopDefault(_pluginTypeScript);
|
|
26
|
-
var pluginUnicorn = interopDefault(_pluginUnicorn);
|
|
27
|
-
var pluginVue = interopDefault(_pluginVue);
|
|
28
|
-
var pluginUnocss = interopDefault(_pluginUnocss);
|
|
29
|
-
var pluginPrettier = interopDefault(_pluginPrettier);
|
|
30
|
-
var configPrettier = interopDefault(_configPrettier);
|
|
23
|
+
var pluginAntfu = /* @__PURE__ */ interopDefault(_pluginAntfu);
|
|
24
|
+
var pluginComments = /* @__PURE__ */ interopDefault(_pluginComments);
|
|
25
|
+
var pluginMarkdown = /* @__PURE__ */ interopDefault(_pluginMarkdown);
|
|
26
|
+
var pluginTypeScript = /* @__PURE__ */ interopDefault(_pluginTypeScript);
|
|
27
|
+
var pluginUnicorn = /* @__PURE__ */ interopDefault(_pluginUnicorn);
|
|
28
|
+
var pluginVue = /* @__PURE__ */ interopDefault(_pluginVue);
|
|
29
|
+
var pluginUnocss = /* @__PURE__ */ interopDefault(_pluginUnocss);
|
|
30
|
+
var pluginPrettier = /* @__PURE__ */ interopDefault(_pluginPrettier);
|
|
31
|
+
var configPrettier = /* @__PURE__ */ interopDefault(_configPrettier);
|
|
31
32
|
|
|
32
33
|
// src/configs/comments.ts
|
|
33
34
|
var comments = [
|
|
@@ -63,60 +64,46 @@ var GLOB_MARKDOWN = "**/*.md";
|
|
|
63
64
|
var GLOB_VUE = "**/*.vue";
|
|
64
65
|
var GLOB_YAML = "**/*.y?(a)ml";
|
|
65
66
|
var GLOB_HTML = "**/*.htm?(l)";
|
|
66
|
-
var GLOB_ALL_SRC =
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"**/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"**/.nuxt",
|
|
107
|
-
"**/.vercel",
|
|
108
|
-
"**/.changeset",
|
|
109
|
-
"**/.idea",
|
|
110
|
-
"**/.output",
|
|
111
|
-
"**/.vite-inspect",
|
|
112
|
-
"**/CHANGELOG*.md",
|
|
113
|
-
"**/*.min.*",
|
|
114
|
-
"**/LICENSE*",
|
|
115
|
-
"**/__snapshots__",
|
|
116
|
-
"**/auto-import?(s).d.ts",
|
|
117
|
-
"**/components.d.ts"
|
|
118
|
-
]
|
|
119
|
-
);
|
|
67
|
+
var GLOB_ALL_SRC = [
|
|
68
|
+
GLOB_SRC,
|
|
69
|
+
GLOB_STYLE,
|
|
70
|
+
GLOB_JSON,
|
|
71
|
+
GLOB_JSON5,
|
|
72
|
+
GLOB_MARKDOWN,
|
|
73
|
+
GLOB_VUE,
|
|
74
|
+
GLOB_YAML,
|
|
75
|
+
GLOB_HTML
|
|
76
|
+
];
|
|
77
|
+
var GLOB_NODE_MODULES = "**/node_modules";
|
|
78
|
+
var GLOB_DIST = "**/dist";
|
|
79
|
+
var GLOB_LOCKFILE = [
|
|
80
|
+
"**/package-lock.json",
|
|
81
|
+
"**/yarn.lock",
|
|
82
|
+
"**/pnpm-lock.yaml",
|
|
83
|
+
"**/bun.lockb"
|
|
84
|
+
];
|
|
85
|
+
var GLOB_EXCLUDE = [
|
|
86
|
+
GLOB_NODE_MODULES,
|
|
87
|
+
GLOB_DIST,
|
|
88
|
+
...GLOB_LOCKFILE,
|
|
89
|
+
"**/output",
|
|
90
|
+
"**/coverage",
|
|
91
|
+
"**/temp",
|
|
92
|
+
"**/fixtures",
|
|
93
|
+
"**/.vitepress/cache",
|
|
94
|
+
"**/.nuxt",
|
|
95
|
+
"**/.vercel",
|
|
96
|
+
"**/.changeset",
|
|
97
|
+
"**/.idea",
|
|
98
|
+
"**/.output",
|
|
99
|
+
"**/.vite-inspect",
|
|
100
|
+
"**/CHANGELOG*.md",
|
|
101
|
+
"**/*.min.*",
|
|
102
|
+
"**/LICENSE*",
|
|
103
|
+
"**/__snapshots__",
|
|
104
|
+
"**/auto-import?(s).d.ts",
|
|
105
|
+
"**/components.d.ts"
|
|
106
|
+
];
|
|
120
107
|
|
|
121
108
|
// src/configs/ignores.ts
|
|
122
109
|
var ignores = [{ ignores: GLOB_EXCLUDE }];
|
|
@@ -125,10 +112,12 @@ var ignores = [{ ignores: GLOB_EXCLUDE }];
|
|
|
125
112
|
var imports = [
|
|
126
113
|
{
|
|
127
114
|
plugins: {
|
|
128
|
-
|
|
129
|
-
|
|
115
|
+
antfu: pluginAntfu,
|
|
116
|
+
import: pluginImport
|
|
130
117
|
},
|
|
131
118
|
rules: {
|
|
119
|
+
"antfu/import-dedupe": "error",
|
|
120
|
+
"antfu/prefer-inline-type-import": "error",
|
|
132
121
|
"import/first": "error",
|
|
133
122
|
"import/no-default-export": "error",
|
|
134
123
|
"import/no-duplicates": "error",
|
|
@@ -149,12 +138,10 @@ var imports = [
|
|
|
149
138
|
"object",
|
|
150
139
|
"type"
|
|
151
140
|
],
|
|
152
|
-
pathGroups: [{ pattern: "{{@,~}/,#}**"
|
|
141
|
+
pathGroups: [{ group: "internal", pattern: "{{@,~}/,#}**" }],
|
|
153
142
|
pathGroupsExcludedImportTypes: ["type"]
|
|
154
143
|
}
|
|
155
|
-
]
|
|
156
|
-
"antfu/import-dedupe": "error",
|
|
157
|
-
"antfu/prefer-inline-type-import": "error"
|
|
144
|
+
]
|
|
158
145
|
}
|
|
159
146
|
},
|
|
160
147
|
{
|
|
@@ -206,14 +193,20 @@ var javascript = [
|
|
|
206
193
|
"unused-imports": pluginUnusedImports
|
|
207
194
|
},
|
|
208
195
|
rules: {
|
|
196
|
+
"array-callback-return": "error",
|
|
197
|
+
"block-scoped-var": "error",
|
|
209
198
|
"constructor-super": "error",
|
|
199
|
+
"dot-notation": "warn",
|
|
200
|
+
eqeqeq: ["error", "smart"],
|
|
210
201
|
"for-direction": "error",
|
|
211
202
|
"getter-return": "error",
|
|
203
|
+
"no-alert": "warn",
|
|
212
204
|
"no-async-promise-executor": "error",
|
|
213
205
|
"no-case-declarations": "error",
|
|
214
206
|
"no-class-assign": "error",
|
|
215
207
|
"no-compare-neg-zero": "error",
|
|
216
208
|
"no-cond-assign": "error",
|
|
209
|
+
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
217
210
|
"no-const-assign": "error",
|
|
218
211
|
"no-constant-condition": "error",
|
|
219
212
|
"no-control-regex": "error",
|
|
@@ -224,6 +217,7 @@ var javascript = [
|
|
|
224
217
|
"no-dupe-else-if": "error",
|
|
225
218
|
"no-dupe-keys": "error",
|
|
226
219
|
"no-duplicate-case": "error",
|
|
220
|
+
"no-duplicate-imports": "error",
|
|
227
221
|
"no-empty": ["error", { allowEmptyCatch: true }],
|
|
228
222
|
"no-empty-character-class": "error",
|
|
229
223
|
"no-empty-pattern": "error",
|
|
@@ -236,9 +230,11 @@ var javascript = [
|
|
|
236
230
|
"no-inner-declarations": "error",
|
|
237
231
|
"no-invalid-regexp": "error",
|
|
238
232
|
"no-irregular-whitespace": "error",
|
|
233
|
+
"no-lonely-if": "error",
|
|
239
234
|
"no-loss-of-precision": "error",
|
|
240
235
|
"no-misleading-character-class": "error",
|
|
241
236
|
"no-mixed-spaces-and-tabs": "error",
|
|
237
|
+
"no-multi-str": "error",
|
|
242
238
|
"no-new-symbol": "error",
|
|
243
239
|
"no-nonoctal-decimal-escape": "error",
|
|
244
240
|
"no-obj-calls": "error",
|
|
@@ -246,6 +242,13 @@ var javascript = [
|
|
|
246
242
|
"no-prototype-builtins": "error",
|
|
247
243
|
"no-redeclare": "error",
|
|
248
244
|
"no-regex-spaces": "error",
|
|
245
|
+
"no-restricted-syntax": [
|
|
246
|
+
"error",
|
|
247
|
+
"ForInStatement",
|
|
248
|
+
"LabeledStatement",
|
|
249
|
+
"WithStatement"
|
|
250
|
+
],
|
|
251
|
+
"no-return-await": "warn",
|
|
249
252
|
"no-self-assign": "error",
|
|
250
253
|
"no-setter-return": "error",
|
|
251
254
|
"no-shadow-restricted-names": "error",
|
|
@@ -257,37 +260,26 @@ var javascript = [
|
|
|
257
260
|
"no-unsafe-finally": "error",
|
|
258
261
|
"no-unsafe-negation": "error",
|
|
259
262
|
"no-unsafe-optional-chaining": "error",
|
|
263
|
+
"no-unused-expressions": [
|
|
264
|
+
"error",
|
|
265
|
+
{
|
|
266
|
+
allowShortCircuit: true,
|
|
267
|
+
allowTaggedTemplates: true,
|
|
268
|
+
allowTernary: true
|
|
269
|
+
}
|
|
270
|
+
],
|
|
260
271
|
"no-unused-labels": "error",
|
|
261
272
|
"no-unused-vars": "off",
|
|
262
273
|
"no-useless-backreference": "error",
|
|
263
274
|
"no-useless-catch": "error",
|
|
264
275
|
"no-useless-escape": "error",
|
|
276
|
+
"no-void": "error",
|
|
265
277
|
"no-with": "error",
|
|
266
|
-
"
|
|
267
|
-
"use-isnan": [
|
|
268
|
-
"error",
|
|
269
|
-
{ enforceForIndexOf: true, enforceForSwitchCase: true }
|
|
270
|
-
],
|
|
271
|
-
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
272
|
-
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
273
|
-
"no-restricted-syntax": [
|
|
274
|
-
"error",
|
|
275
|
-
"ForInStatement",
|
|
276
|
-
"LabeledStatement",
|
|
277
|
-
"WithStatement"
|
|
278
|
-
],
|
|
279
|
-
"no-return-await": "warn",
|
|
280
|
-
"sort-imports": [
|
|
278
|
+
"object-shorthand": [
|
|
281
279
|
"error",
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
ignoreDeclarationSort: true,
|
|
285
|
-
ignoreMemberSort: false,
|
|
286
|
-
memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
|
|
287
|
-
allowSeparatedGroups: false
|
|
288
|
-
}
|
|
280
|
+
"always",
|
|
281
|
+
{ avoidQuotes: true, ignoreConstructors: false }
|
|
289
282
|
],
|
|
290
|
-
"dot-notation": "warn",
|
|
291
283
|
"prefer-arrow-callback": [
|
|
292
284
|
"error",
|
|
293
285
|
{ allowNamedFunctions: false, allowUnboundThis: true }
|
|
@@ -297,40 +289,35 @@ var javascript = [
|
|
|
297
289
|
{ destructuring: "all", ignoreReadBeforeAssign: true }
|
|
298
290
|
],
|
|
299
291
|
"prefer-exponentiation-operator": "error",
|
|
300
|
-
"object-shorthand": [
|
|
301
|
-
"error",
|
|
302
|
-
"always",
|
|
303
|
-
{ ignoreConstructors: false, avoidQuotes: true }
|
|
304
|
-
],
|
|
305
292
|
"prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
|
|
306
293
|
"prefer-rest-params": "error",
|
|
307
294
|
"prefer-spread": "error",
|
|
308
295
|
"prefer-template": "error",
|
|
309
296
|
"require-await": "error",
|
|
310
|
-
"
|
|
311
|
-
"
|
|
312
|
-
eqeqeq: ["error", "smart"],
|
|
313
|
-
"no-alert": "warn",
|
|
314
|
-
"no-multi-str": "error",
|
|
315
|
-
"no-void": "error",
|
|
316
|
-
"no-duplicate-imports": "error",
|
|
317
|
-
"no-unused-expressions": [
|
|
297
|
+
"require-yield": "error",
|
|
298
|
+
"sort-imports": [
|
|
318
299
|
"error",
|
|
319
300
|
{
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
301
|
+
allowSeparatedGroups: false,
|
|
302
|
+
ignoreCase: false,
|
|
303
|
+
ignoreDeclarationSort: true,
|
|
304
|
+
ignoreMemberSort: false,
|
|
305
|
+
memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
|
|
323
306
|
}
|
|
324
307
|
],
|
|
325
|
-
"no-lonely-if": "error",
|
|
326
|
-
"wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
|
|
327
|
-
"vars-on-top": "error",
|
|
328
308
|
"unicode-bom": ["error", "never"],
|
|
329
309
|
"unused-imports/no-unused-imports": isInEditor ? "off" : "error",
|
|
330
310
|
"unused-imports/no-unused-vars": [
|
|
331
311
|
"error",
|
|
332
312
|
{ args: "after-used", ignoreRestSiblings: true }
|
|
333
|
-
]
|
|
313
|
+
],
|
|
314
|
+
"use-isnan": [
|
|
315
|
+
"error",
|
|
316
|
+
{ enforceForIndexOf: true, enforceForSwitchCase: true }
|
|
317
|
+
],
|
|
318
|
+
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
319
|
+
"vars-on-top": "error",
|
|
320
|
+
"wrap-iife": ["error", "any", { functionPrototypeMethods: true }]
|
|
334
321
|
}
|
|
335
322
|
},
|
|
336
323
|
{
|
|
@@ -351,12 +338,12 @@ var javascript = [
|
|
|
351
338
|
var jsonc = [
|
|
352
339
|
{
|
|
353
340
|
files: [GLOB_JSON, GLOB_JSON5, GLOB_JSONC],
|
|
354
|
-
plugins: {
|
|
355
|
-
jsonc: pluginJsonc
|
|
356
|
-
},
|
|
357
341
|
languageOptions: {
|
|
358
342
|
parser: parserJsonc
|
|
359
343
|
},
|
|
344
|
+
plugins: {
|
|
345
|
+
jsonc: pluginJsonc
|
|
346
|
+
},
|
|
360
347
|
rules: {
|
|
361
348
|
...pluginJsonc.configs["recommended-with-jsonc"].rules,
|
|
362
349
|
"jsonc/quote-props": "off",
|
|
@@ -387,21 +374,21 @@ var markdown = [
|
|
|
387
374
|
...pluginMarkdown.configs.recommended.overrides[1].rules,
|
|
388
375
|
"@typescript-eslint/comma-dangle": "off",
|
|
389
376
|
"@typescript-eslint/consistent-type-imports": "off",
|
|
377
|
+
"@typescript-eslint/no-extraneous-class": "off",
|
|
390
378
|
"@typescript-eslint/no-namespace": "off",
|
|
391
379
|
"@typescript-eslint/no-redeclare": "off",
|
|
392
380
|
"@typescript-eslint/no-require-imports": "off",
|
|
393
381
|
"@typescript-eslint/no-unused-vars": "off",
|
|
394
382
|
"@typescript-eslint/no-use-before-define": "off",
|
|
395
383
|
"@typescript-eslint/no-var-requires": "off",
|
|
396
|
-
"@typescript-eslint/no-extraneous-class": "off",
|
|
397
384
|
"no-alert": "off",
|
|
398
385
|
"no-console": "off",
|
|
399
386
|
"no-restricted-imports": "off",
|
|
400
387
|
"no-undef": "off",
|
|
401
388
|
"no-unused-expressions": "off",
|
|
402
389
|
"no-unused-vars": "off",
|
|
403
|
-
"unused-imports/no-unused-
|
|
404
|
-
"unused-imports/no-unused-
|
|
390
|
+
"unused-imports/no-unused-imports": "off",
|
|
391
|
+
"unused-imports/no-unused-vars": "off"
|
|
405
392
|
}
|
|
406
393
|
}
|
|
407
394
|
];
|
|
@@ -430,14 +417,13 @@ var sortPackageJson = [
|
|
|
430
417
|
"jsonc/sort-array-values": [
|
|
431
418
|
"error",
|
|
432
419
|
{
|
|
433
|
-
|
|
434
|
-
|
|
420
|
+
order: { type: "asc" },
|
|
421
|
+
pathPattern: "^files$"
|
|
435
422
|
}
|
|
436
423
|
],
|
|
437
424
|
"jsonc/sort-keys": [
|
|
438
425
|
"error",
|
|
439
426
|
{
|
|
440
|
-
pathPattern: "^$",
|
|
441
427
|
order: [
|
|
442
428
|
"name",
|
|
443
429
|
"version",
|
|
@@ -481,15 +467,16 @@ var sortPackageJson = [
|
|
|
481
467
|
"lint-staged",
|
|
482
468
|
"eslintConfig",
|
|
483
469
|
"prettier"
|
|
484
|
-
]
|
|
470
|
+
],
|
|
471
|
+
pathPattern: "^$"
|
|
485
472
|
},
|
|
486
473
|
{
|
|
487
|
-
|
|
488
|
-
|
|
474
|
+
order: { type: "asc" },
|
|
475
|
+
pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$"
|
|
489
476
|
},
|
|
490
477
|
{
|
|
491
|
-
|
|
492
|
-
|
|
478
|
+
order: ["types", "require", "import", "default"],
|
|
479
|
+
pathPattern: "^exports.*$"
|
|
493
480
|
},
|
|
494
481
|
{
|
|
495
482
|
order: { type: "asc" },
|
|
@@ -637,12 +624,12 @@ var typescript = [
|
|
|
637
624
|
}
|
|
638
625
|
},
|
|
639
626
|
plugins: {
|
|
640
|
-
"@typescript-eslint": pluginTypeScript
|
|
627
|
+
"@typescript-eslint": pluginTypeScript,
|
|
628
|
+
antfu: pluginAntfu
|
|
641
629
|
},
|
|
642
630
|
rules: {
|
|
643
631
|
...pluginTypeScript.configs["eslint-recommended"].overrides[0].rules,
|
|
644
632
|
...pluginTypeScript.configs.strict.rules,
|
|
645
|
-
"@typescript-eslint/no-redeclare": "error",
|
|
646
633
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
647
634
|
"@typescript-eslint/ban-types": "off",
|
|
648
635
|
"@typescript-eslint/consistent-type-assertions": [
|
|
@@ -654,13 +641,19 @@ var typescript = [
|
|
|
654
641
|
],
|
|
655
642
|
"@typescript-eslint/consistent-type-imports": [
|
|
656
643
|
"error",
|
|
657
|
-
{ fixStyle: "inline-type-imports"
|
|
644
|
+
{ disallowTypeAnnotations: false, fixStyle: "inline-type-imports" }
|
|
658
645
|
],
|
|
659
646
|
"@typescript-eslint/no-explicit-any": "off",
|
|
660
647
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
661
|
-
"@typescript-eslint/
|
|
648
|
+
"@typescript-eslint/no-redeclare": "error",
|
|
662
649
|
// handled by unused-imports/no-unused-imports
|
|
663
|
-
"@typescript-eslint/no-unused-vars": "off"
|
|
650
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
651
|
+
"@typescript-eslint/prefer-as-const": "warn",
|
|
652
|
+
"@typescript-eslint/prefer-literal-enum-member": [
|
|
653
|
+
"error",
|
|
654
|
+
{ allowBitwiseExpressions: true }
|
|
655
|
+
],
|
|
656
|
+
"antfu/no-const-enum": "error"
|
|
664
657
|
}
|
|
665
658
|
},
|
|
666
659
|
{
|
|
@@ -786,11 +779,11 @@ var reactivityTransform = [
|
|
|
786
779
|
globals: {
|
|
787
780
|
$: "readonly",
|
|
788
781
|
$$: "readonly",
|
|
789
|
-
$ref: "readonly",
|
|
790
782
|
$computed: "readonly",
|
|
783
|
+
$customRef: "readonly",
|
|
784
|
+
$ref: "readonly",
|
|
791
785
|
$shallowRef: "readonly",
|
|
792
|
-
$toRef: "readonly"
|
|
793
|
-
$customRef: "readonly"
|
|
786
|
+
$toRef: "readonly"
|
|
794
787
|
}
|
|
795
788
|
},
|
|
796
789
|
plugins: {
|
|
@@ -802,41 +795,41 @@ var reactivityTransform = [
|
|
|
802
795
|
}
|
|
803
796
|
];
|
|
804
797
|
var vueCustomRules = {
|
|
805
|
-
"vue/
|
|
806
|
-
"vue/
|
|
807
|
-
"vue/
|
|
808
|
-
"vue/require-prop-types": "off",
|
|
809
|
-
"vue/require-default-prop": "off",
|
|
798
|
+
"vue/block-order": ["error", { order: ["script", "template", "style"] }],
|
|
799
|
+
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
800
|
+
"vue/eqeqeq": ["error", "smart"],
|
|
810
801
|
"vue/html-self-closing": [
|
|
811
802
|
"error",
|
|
812
803
|
{
|
|
813
804
|
html: {
|
|
814
|
-
|
|
805
|
+
component: "always",
|
|
815
806
|
normal: "always",
|
|
816
|
-
|
|
807
|
+
void: "always"
|
|
817
808
|
},
|
|
818
|
-
|
|
819
|
-
|
|
809
|
+
math: "always",
|
|
810
|
+
svg: "always"
|
|
820
811
|
}
|
|
821
812
|
],
|
|
822
|
-
"vue/
|
|
823
|
-
"vue/
|
|
824
|
-
"vue/no-useless-v-bind": "error",
|
|
825
|
-
"vue/no-unused-refs": "error",
|
|
826
|
-
"vue/padding-line-between-blocks": ["error", "always"],
|
|
827
|
-
"vue/prefer-template": "error",
|
|
828
|
-
"vue/eqeqeq": ["error", "smart"],
|
|
813
|
+
"vue/max-attributes-per-line": "off",
|
|
814
|
+
"vue/multi-word-component-names": "off",
|
|
829
815
|
"vue/no-constant-condition": "warn",
|
|
816
|
+
"vue/no-empty-pattern": "error",
|
|
817
|
+
"vue/no-loss-of-precision": "error",
|
|
818
|
+
"vue/no-unused-refs": "error",
|
|
819
|
+
"vue/no-useless-v-bind": "error",
|
|
820
|
+
"vue/no-v-html": "off",
|
|
830
821
|
"vue/object-shorthand": [
|
|
831
822
|
"error",
|
|
832
823
|
"always",
|
|
833
824
|
{
|
|
834
|
-
|
|
835
|
-
|
|
825
|
+
avoidQuotes: true,
|
|
826
|
+
ignoreConstructors: false
|
|
836
827
|
}
|
|
837
828
|
],
|
|
838
|
-
"vue/
|
|
839
|
-
"vue/
|
|
829
|
+
"vue/padding-line-between-blocks": ["error", "always"],
|
|
830
|
+
"vue/prefer-template": "error",
|
|
831
|
+
"vue/require-default-prop": "off",
|
|
832
|
+
"vue/require-prop-types": "off"
|
|
840
833
|
};
|
|
841
834
|
var vue3Rules = {
|
|
842
835
|
...pluginVue.configs.base.rules,
|
|
@@ -853,21 +846,21 @@ var vue2Rules = {
|
|
|
853
846
|
var vue = [
|
|
854
847
|
{
|
|
855
848
|
files: [GLOB_VUE],
|
|
856
|
-
plugins: {
|
|
857
|
-
vue: pluginVue,
|
|
858
|
-
"@typescript-eslint": tsPlugin
|
|
859
|
-
},
|
|
860
849
|
languageOptions: {
|
|
861
850
|
parser: parserVue,
|
|
862
851
|
parserOptions: {
|
|
863
|
-
parser: "@typescript-eslint/parser",
|
|
864
|
-
sourceType: "module",
|
|
865
|
-
extraFileExtensions: [".vue"],
|
|
866
852
|
ecmaFeatures: {
|
|
867
853
|
jsx: true
|
|
868
|
-
}
|
|
854
|
+
},
|
|
855
|
+
extraFileExtensions: [".vue"],
|
|
856
|
+
parser: "@typescript-eslint/parser",
|
|
857
|
+
sourceType: "module"
|
|
869
858
|
}
|
|
870
859
|
},
|
|
860
|
+
plugins: {
|
|
861
|
+
"@typescript-eslint": tsPlugin,
|
|
862
|
+
vue: pluginVue
|
|
863
|
+
},
|
|
871
864
|
processor: pluginVue.processors[".vue"],
|
|
872
865
|
rules: {
|
|
873
866
|
...typescript[0].rules
|
|
@@ -889,12 +882,12 @@ var vue = [
|
|
|
889
882
|
var yml = [
|
|
890
883
|
{
|
|
891
884
|
files: [GLOB_YAML],
|
|
892
|
-
plugins: {
|
|
893
|
-
yml: pluginYml
|
|
894
|
-
},
|
|
895
885
|
languageOptions: {
|
|
896
886
|
parser: parserYml
|
|
897
887
|
},
|
|
888
|
+
plugins: {
|
|
889
|
+
yml: pluginYml
|
|
890
|
+
},
|
|
898
891
|
rules: {
|
|
899
892
|
...pluginYml.configs.standard.rules,
|
|
900
893
|
...pluginYml.configs.prettier.rules,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sxzz/eslint-config",
|
|
3
|
-
"version": "3.6.
|
|
4
|
-
"packageManager": "pnpm@8.
|
|
3
|
+
"version": "3.6.2",
|
|
4
|
+
"packageManager": "pnpm@8.8.0",
|
|
5
5
|
"description": "ESLint config for @sxzz.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "git+https://github.com/sxzz/eslint-config.git"
|
|
15
15
|
},
|
|
16
|
+
"funding": "https://github.com/sponsors/sxzz",
|
|
16
17
|
"files": [
|
|
17
18
|
"dist"
|
|
18
19
|
],
|
|
@@ -30,12 +31,12 @@
|
|
|
30
31
|
"eslint": "^8.0.0"
|
|
31
32
|
},
|
|
32
33
|
"dependencies": {
|
|
33
|
-
"@typescript-eslint/eslint-plugin": "^6.7.
|
|
34
|
-
"@typescript-eslint/parser": "^6.7.
|
|
35
|
-
"@unocss/eslint-plugin": "^0.
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "^6.7.3",
|
|
35
|
+
"@typescript-eslint/parser": "^6.7.3",
|
|
36
|
+
"@unocss/eslint-plugin": "^0.56.4",
|
|
36
37
|
"eslint-config-prettier": "^9.0.0",
|
|
37
38
|
"eslint-define-config": "^1.23.0",
|
|
38
|
-
"eslint-plugin-antfu": "^0.
|
|
39
|
+
"eslint-plugin-antfu": "^0.43.1",
|
|
39
40
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
40
41
|
"eslint-plugin-i": "^2.28.1",
|
|
41
42
|
"eslint-plugin-jsonc": "^2.9.0",
|
|
@@ -47,16 +48,17 @@
|
|
|
47
48
|
"eslint-plugin-yml": "^1.9.0",
|
|
48
49
|
"globals": "^13.22.0",
|
|
49
50
|
"jsonc-eslint-parser": "^2.3.0",
|
|
50
|
-
"local-pkg": "^0.
|
|
51
|
+
"local-pkg": "^0.5.0",
|
|
51
52
|
"prettier": "^3.0.3",
|
|
52
53
|
"vue-eslint-parser": "^9.3.1",
|
|
53
54
|
"yaml-eslint-parser": "^1.2.2"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
57
|
"@sxzz/prettier-config": "^1.0.4",
|
|
57
|
-
"@types/node": "^20.
|
|
58
|
+
"@types/node": "^20.8.0",
|
|
58
59
|
"bumpp": "^9.2.0",
|
|
59
|
-
"eslint": "^8.
|
|
60
|
+
"eslint": "^8.50.0",
|
|
61
|
+
"eslint-plugin-sort-keys": "^2.3.5",
|
|
60
62
|
"sucrase": "^3.34.0",
|
|
61
63
|
"tsup": "^7.2.0",
|
|
62
64
|
"typescript": "^5.2.2"
|