@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 CHANGED
@@ -6,9 +6,12 @@ Flat ESLint config for JavaScript, TypeScript, Vue 2, Vue 3, Prettier.
6
6
 
7
7
  ## Features
8
8
 
9
- - Support Vue 2 and 3 out-of-box.
10
- - Select the required file types as needed.
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
- /** @type {const} */
167
- [
168
- GLOB_SRC,
169
- GLOB_STYLE,
170
- GLOB_JSON,
171
- GLOB_JSON5,
172
- GLOB_MARKDOWN,
173
- GLOB_VUE,
174
- GLOB_YAML,
175
- GLOB_HTML
176
- ]
177
- );
178
- var GLOB_NODE_MODULES = (
179
- /** @type {const} */
180
- "**/node_modules"
181
- );
182
- var GLOB_DIST = (
183
- /** @type {const} */
184
- "**/dist"
185
- );
186
- var GLOB_LOCKFILE = (
187
- /** @type {const} */
188
- [
189
- "**/package-lock.json",
190
- "**/yarn.lock",
191
- "**/pnpm-lock.yaml"
192
- ]
193
- );
194
- var GLOB_EXCLUDE = (
195
- /** @type {const} */
196
- [
197
- GLOB_NODE_MODULES,
198
- GLOB_DIST,
199
- ...GLOB_LOCKFILE,
200
- "**/output",
201
- "**/coverage",
202
- "**/temp",
203
- "**/fixtures",
204
- "**/.vitepress/cache",
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
- import: pluginImport,
228
- antfu: pluginAntfu
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: "{{@,~}/,#}**", group: "internal" }],
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
- "require-yield": "error",
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
- ignoreCase: false,
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
- "array-callback-return": "error",
410
- "block-scoped-var": "error",
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
- allowShortCircuit: true,
420
- allowTernary: true,
421
- allowTaggedTemplates: true
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-vars": "off",
503
- "unused-imports/no-unused-imports": "off"
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
- pathPattern: "^files$",
533
- order: { type: "asc" }
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
- pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$",
587
- order: { type: "asc" }
573
+ order: { type: "asc" },
574
+ pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$"
588
575
  },
589
576
  {
590
- pathPattern: "^exports.*$",
591
- order: ["types", "require", "import", "default"]
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", disallowTypeAnnotations: false }
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/prefer-as-const": "warn",
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/max-attributes-per-line": "off",
905
- "vue/no-v-html": "off",
906
- "vue/multi-word-component-names": "off",
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
- void: "always",
904
+ component: "always",
914
905
  normal: "always",
915
- component: "always"
906
+ void: "always"
916
907
  },
917
- svg: "always",
918
- math: "always"
908
+ math: "always",
909
+ svg: "always"
919
910
  }
920
911
  ],
921
- "vue/block-order": ["error", { order: ["script", "template", "style"] }],
922
- "vue/custom-event-name-casing": ["error", "camelCase"],
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
- ignoreConstructors: false,
934
- avoidQuotes: true
924
+ avoidQuotes: true,
925
+ ignoreConstructors: false
935
926
  }
936
927
  ],
937
- "vue/no-loss-of-precision": "error",
938
- "vue/no-empty-pattern": "error"
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 = /** @type {const} */ "**/node_modules";
71
- declare const GLOB_DIST = /** @type {const} */ "**/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 = /** @type {const} */ "**/node_modules";
71
- declare const GLOB_DIST = /** @type {const} */ "**/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
- /** @type {const} */
68
- [
69
- GLOB_SRC,
70
- GLOB_STYLE,
71
- GLOB_JSON,
72
- GLOB_JSON5,
73
- GLOB_MARKDOWN,
74
- GLOB_VUE,
75
- GLOB_YAML,
76
- GLOB_HTML
77
- ]
78
- );
79
- var GLOB_NODE_MODULES = (
80
- /** @type {const} */
81
- "**/node_modules"
82
- );
83
- var GLOB_DIST = (
84
- /** @type {const} */
85
- "**/dist"
86
- );
87
- var GLOB_LOCKFILE = (
88
- /** @type {const} */
89
- [
90
- "**/package-lock.json",
91
- "**/yarn.lock",
92
- "**/pnpm-lock.yaml"
93
- ]
94
- );
95
- var GLOB_EXCLUDE = (
96
- /** @type {const} */
97
- [
98
- GLOB_NODE_MODULES,
99
- GLOB_DIST,
100
- ...GLOB_LOCKFILE,
101
- "**/output",
102
- "**/coverage",
103
- "**/temp",
104
- "**/fixtures",
105
- "**/.vitepress/cache",
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
- import: pluginImport,
129
- antfu: pluginAntfu
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: "{{@,~}/,#}**", group: "internal" }],
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
- "require-yield": "error",
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
- ignoreCase: false,
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
- "array-callback-return": "error",
311
- "block-scoped-var": "error",
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
- allowShortCircuit: true,
321
- allowTernary: true,
322
- allowTaggedTemplates: true
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-vars": "off",
404
- "unused-imports/no-unused-imports": "off"
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
- pathPattern: "^files$",
434
- order: { type: "asc" }
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
- pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$",
488
- order: { type: "asc" }
474
+ order: { type: "asc" },
475
+ pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$"
489
476
  },
490
477
  {
491
- pathPattern: "^exports.*$",
492
- order: ["types", "require", "import", "default"]
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", disallowTypeAnnotations: false }
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/prefer-as-const": "warn",
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/max-attributes-per-line": "off",
806
- "vue/no-v-html": "off",
807
- "vue/multi-word-component-names": "off",
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
- void: "always",
805
+ component: "always",
815
806
  normal: "always",
816
- component: "always"
807
+ void: "always"
817
808
  },
818
- svg: "always",
819
- math: "always"
809
+ math: "always",
810
+ svg: "always"
820
811
  }
821
812
  ],
822
- "vue/block-order": ["error", { order: ["script", "template", "style"] }],
823
- "vue/custom-event-name-casing": ["error", "camelCase"],
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
- ignoreConstructors: false,
835
- avoidQuotes: true
825
+ avoidQuotes: true,
826
+ ignoreConstructors: false
836
827
  }
837
828
  ],
838
- "vue/no-loss-of-precision": "error",
839
- "vue/no-empty-pattern": "error"
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.1",
4
- "packageManager": "pnpm@8.7.6",
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.2",
34
- "@typescript-eslint/parser": "^6.7.2",
35
- "@unocss/eslint-plugin": "^0.55.7",
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.42.1",
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.4.3",
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.6.3",
58
+ "@types/node": "^20.8.0",
58
59
  "bumpp": "^9.2.0",
59
- "eslint": "^8.49.0",
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"