@fast-china/eslint-config 1.0.11 → 1.0.13

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.
@@ -1,6 +1,73 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/flat/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ CONST_DIST: () => CONST_DIST,
34
+ CONST_JS: () => CONST_JS,
35
+ CONST_JSON: () => CONST_JSON,
36
+ CONST_JSON5: () => CONST_JSON5,
37
+ CONST_JSON6: () => CONST_JSON6,
38
+ CONST_JSONC: () => CONST_JSONC,
39
+ CONST_JSX: () => CONST_JSX,
40
+ CONST_LOCKFILE: () => CONST_LOCKFILE,
41
+ CONST_MD: () => CONST_MD,
42
+ CONST_NODE_MODULES: () => CONST_NODE_MODULES,
43
+ CONST_PUBLIC: () => CONST_PUBLIC,
44
+ CONST_TS: () => CONST_TS,
45
+ CONST_TSCONFIG: () => CONST_TSCONFIG,
46
+ CONST_TSX: () => CONST_TSX,
47
+ CONST_VUE: () => CONST_VUE,
48
+ CONST_YAML: () => CONST_YAML,
49
+ commonConfigs: () => commonConfigs,
50
+ default: () => index_default,
51
+ ignoresConfigs: () => ignoresConfigs,
52
+ importConfigs: () => importConfigs,
53
+ importUseLodashRules: () => importUseLodashRules,
54
+ importUseLodashUnifiedRules: () => importUseLodashUnifiedRules,
55
+ javascriptConfigs: () => javascriptConfigs,
56
+ jsonConfigs: () => jsonConfigs,
57
+ markdownConfigs: () => markdownConfigs,
58
+ packageJsonSortConfigs: () => packageJsonSortConfigs,
59
+ prettierConfigs: () => prettierConfigs,
60
+ regexpConfigs: () => regexpConfigs,
61
+ tsconfigJsonSortConfigs: () => tsconfigJsonSortConfigs,
62
+ typescriptConfigs: () => typescriptConfigs,
63
+ typescriptCoreConfigs: () => typescriptCoreConfigs,
64
+ vueConfigs: () => vueConfigs
65
+ });
66
+ module.exports = __toCommonJS(index_exports);
67
+
1
68
  // src/configs/common.ts
2
- import tseslint from "typescript-eslint";
3
- var commonConfigs = tseslint.config([
69
+ var import_typescript_eslint = __toESM(require("typescript-eslint"), 1);
70
+ var commonConfigs = import_typescript_eslint.default.config([
4
71
  {
5
72
  name: "@fast-china/common",
6
73
  rules: {
@@ -49,7 +116,7 @@ var commonConfigs = tseslint.config([
49
116
  ]);
50
117
 
51
118
  // src/configs/ignores.ts
52
- import tseslint2 from "typescript-eslint";
119
+ var import_typescript_eslint2 = __toESM(require("typescript-eslint"), 1);
53
120
 
54
121
  // src/constants/index.ts
55
122
  var CONST_JS = "**/*.?([cm])js";
@@ -65,18 +132,13 @@ var CONST_VUE = "**/*.vue";
65
132
  var CONST_YAML = "**/*.y?(a)ml";
66
133
  var CONST_NODE_MODULES = "**/node_modules";
67
134
  var CONST_DIST = "**/dist";
68
- var CONST_LOCKFILE = [
69
- "**/package-lock.json",
70
- "**/yarn.lock",
71
- "**/pnpm-lock.yaml",
72
- "**/bun.lockb"
73
- ];
135
+ var CONST_LOCKFILE = ["**/package-lock.json", "**/yarn.lock", "**/pnpm-lock.yaml", "**/bun.lockb"];
74
136
  var CONST_PUBLIC = "**/public";
75
137
  var CONST_TSCONFIG = ["**/tsconfig.json", "**/tsconfig.*.json"];
76
138
 
77
139
  // src/configs/ignores.ts
78
- import eslintConfigFlatGitignore from "eslint-config-flat-gitignore";
79
- var ignoresConfigs = tseslint2.config([
140
+ var import_eslint_config_flat_gitignore = __toESM(require("eslint-config-flat-gitignore"), 1);
141
+ var ignoresConfigs = import_typescript_eslint2.default.config([
80
142
  {
81
143
  name: "@fast-china/ignores/global",
82
144
  ignores: [
@@ -106,13 +168,13 @@ var ignoresConfigs = tseslint2.config([
106
168
  },
107
169
  {
108
170
  name: "@fast-china/ignores/git",
109
- ...eslintConfigFlatGitignore({ strict: false })
171
+ ...(0, import_eslint_config_flat_gitignore.default)({ strict: false })
110
172
  }
111
173
  ]);
112
174
 
113
175
  // src/configs/import.ts
114
- import tseslint3 from "typescript-eslint";
115
- import eslintPluginImport from "eslint-plugin-import";
176
+ var import_typescript_eslint3 = __toESM(require("typescript-eslint"), 1);
177
+ var import_eslint_plugin_import = __toESM(require("eslint-plugin-import"), 1);
116
178
  var importUseLodashUnifiedRules = {
117
179
  // 限制某些模块导入
118
180
  "no-restricted-imports": [
@@ -149,11 +211,11 @@ var importUseLodashRules = {
149
211
  }
150
212
  ]
151
213
  };
152
- var importConfigs = tseslint3.config([
214
+ var importConfigs = import_typescript_eslint3.default.config([
153
215
  {
154
216
  name: "@fast-china/import",
155
217
  // 继承某些已有的规则
156
- extends: [eslintPluginImport.flatConfigs.recommended],
218
+ extends: [import_eslint_plugin_import.default.flatConfigs.recommended],
157
219
  settings: {
158
220
  // 确保 ESLint 和 eslint-plugin-import 能够正确解析项目中的所有相关文件类型
159
221
  "import/resolver": {
@@ -254,21 +316,21 @@ var importConfigs = tseslint3.config([
254
316
  ]);
255
317
 
256
318
  // src/configs/javascript.ts
257
- import tseslint4 from "typescript-eslint";
258
- import globals from "globals";
259
- import eslint from "@eslint/js";
260
- var javascriptConfigs = tseslint4.config([
319
+ var import_typescript_eslint4 = __toESM(require("typescript-eslint"), 1);
320
+ var import_globals = __toESM(require("globals"), 1);
321
+ var import_js = __toESM(require("@eslint/js"), 1);
322
+ var javascriptConfigs = import_typescript_eslint4.default.config([
261
323
  {
262
324
  name: "@fast-china/javascript",
263
325
  // 继承某些已有的规则
264
- extends: [eslint.configs.recommended],
326
+ extends: [import_js.default.configs.recommended],
265
327
  languageOptions: {
266
328
  // 允许使用最新的 ECMAScript 语法特性
267
329
  ecmaVersion: "latest",
268
330
  globals: {
269
- ...globals.browser,
270
- ...globals.es2022,
271
- ...globals.node
331
+ ...import_globals.default.browser,
332
+ ...import_globals.default.es2022,
333
+ ...import_globals.default.node
272
334
  },
273
335
  parserOptions: {
274
336
  // 允许使用 JSX 语法,适用于 Vue 组件中的 JSX 代码。
@@ -400,51 +462,51 @@ var javascriptConfigs = tseslint4.config([
400
462
  ]);
401
463
 
402
464
  // src/configs/json.ts
403
- import tseslint5 from "typescript-eslint";
404
- import eslintPluginJsonc from "eslint-plugin-jsonc";
405
- import jsoncEslintParser from "jsonc-eslint-parser";
406
- var jsonConfigs = tseslint5.config([
465
+ var import_typescript_eslint5 = __toESM(require("typescript-eslint"), 1);
466
+ var import_eslint_plugin_jsonc = __toESM(require("eslint-plugin-jsonc"), 1);
467
+ var import_jsonc_eslint_parser = __toESM(require("jsonc-eslint-parser"), 1);
468
+ var jsonConfigs = import_typescript_eslint5.default.config([
407
469
  {
408
470
  name: "@fast-china/json",
409
471
  files: [CONST_JSON, CONST_JSONC, CONST_JSON5, CONST_JSON6],
410
472
  // 继承某些已有的规则
411
- extends: [...eslintPluginJsonc.configs["flat/recommended-with-jsonc"]],
473
+ extends: [...import_eslint_plugin_jsonc.default.configs["flat/recommended-with-jsonc"]],
412
474
  languageOptions: {
413
- parser: jsoncEslintParser
475
+ parser: import_jsonc_eslint_parser.default
414
476
  },
415
477
  plugins: {
416
- jsonc: eslintPluginJsonc
478
+ jsonc: import_eslint_plugin_jsonc.default
417
479
  },
418
480
  rules: {}
419
481
  }
420
482
  ]);
421
483
 
422
484
  // src/configs/markdown.ts
423
- import tseslint6 from "typescript-eslint";
424
- import eslintPluginMarkdown from "eslint-plugin-markdown";
425
- var markdownConfigs = tseslint6.config([
485
+ var import_typescript_eslint6 = __toESM(require("typescript-eslint"), 1);
486
+ var import_eslint_plugin_markdown = __toESM(require("eslint-plugin-markdown"), 1);
487
+ var markdownConfigs = import_typescript_eslint6.default.config([
426
488
  {
427
489
  name: "@fast-china/markdown",
428
490
  files: [CONST_MD],
429
491
  rules: {}
430
492
  },
431
- ...eslintPluginMarkdown.configs.recommended.map((config) => ({
493
+ ...import_eslint_plugin_markdown.default.configs.recommended.map((config) => ({
432
494
  ...config,
433
495
  name: `@fast-china/${config.name || "markdown/anonymous"}`
434
496
  }))
435
497
  ]);
436
498
 
437
499
  // src/configs/prettier.ts
438
- import tseslint7 from "typescript-eslint";
439
- import eslintConfigPrettier from "eslint-config-prettier";
440
- import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
441
- var prettierConfigs = tseslint7.config([
500
+ var import_typescript_eslint7 = __toESM(require("typescript-eslint"), 1);
501
+ var import_eslint_config_prettier = __toESM(require("eslint-config-prettier"), 1);
502
+ var import_recommended = __toESM(require("eslint-plugin-prettier/recommended"), 1);
503
+ var prettierConfigs = import_typescript_eslint7.default.config([
442
504
  {
443
505
  name: "@fast-china/prettier",
444
506
  // 继承某些已有的规则
445
- extends: [eslintPluginPrettierRecommended],
507
+ extends: [import_recommended.default],
446
508
  plugins: {
447
- prettier: eslintConfigPrettier
509
+ prettier: import_eslint_config_prettier.default
448
510
  },
449
511
  rules: {
450
512
  // 确保 Prettier 错误被 ESLint 捕获
@@ -454,18 +516,18 @@ var prettierConfigs = tseslint7.config([
454
516
  ]);
455
517
 
456
518
  // src/configs/regexp.ts
457
- import tseslint8 from "typescript-eslint";
458
- import eslintPluginRegexp from "eslint-plugin-regexp";
459
- var regexpConfigs = tseslint8.config([
519
+ var import_typescript_eslint8 = __toESM(require("typescript-eslint"), 1);
520
+ var import_eslint_plugin_regexp = __toESM(require("eslint-plugin-regexp"), 1);
521
+ var regexpConfigs = import_typescript_eslint8.default.config([
460
522
  {
461
523
  name: "@fast-china/regexp",
462
- ...eslintPluginRegexp.configs["flat/recommended"]
524
+ ...import_eslint_plugin_regexp.default.configs["flat/recommended"]
463
525
  }
464
526
  ]);
465
527
 
466
528
  // src/configs/sort-package.ts
467
- import tseslint9 from "typescript-eslint";
468
- var packageJsonSortConfigs = tseslint9.config([
529
+ var import_typescript_eslint9 = __toESM(require("typescript-eslint"), 1);
530
+ var packageJsonSortConfigs = import_typescript_eslint9.default.config([
469
531
  {
470
532
  name: "@fast-china/sort/package",
471
533
  files: ["**/package.json"],
@@ -544,8 +606,8 @@ var packageJsonSortConfigs = tseslint9.config([
544
606
  ]);
545
607
 
546
608
  // src/configs/sort-tsconfig.ts
547
- import tseslint10 from "typescript-eslint";
548
- var tsconfigJsonSortConfigs = tseslint10.config([
609
+ var import_typescript_eslint10 = __toESM(require("typescript-eslint"), 1);
610
+ var tsconfigJsonSortConfigs = import_typescript_eslint10.default.config([
549
611
  {
550
612
  name: "@fast-china/sort/tsconfig",
551
613
  files: [CONST_TSCONFIG],
@@ -553,14 +615,7 @@ var tsconfigJsonSortConfigs = tseslint10.config([
553
615
  "jsonc/sort-keys": [
554
616
  "error",
555
617
  {
556
- order: [
557
- "extends",
558
- "compilerOptions",
559
- "references",
560
- "files",
561
- "include",
562
- "exclude"
563
- ],
618
+ order: ["extends", "compilerOptions", "references", "files", "include", "exclude"],
564
619
  pathPattern: "^$"
565
620
  },
566
621
  {
@@ -671,17 +726,17 @@ var tsconfigJsonSortConfigs = tseslint10.config([
671
726
  ]);
672
727
 
673
728
  // src/configs/typescript.ts
674
- import tseslint11 from "typescript-eslint";
675
- var typescriptCoreConfigs = tseslint11.config([
729
+ var import_typescript_eslint11 = __toESM(require("typescript-eslint"), 1);
730
+ var typescriptCoreConfigs = import_typescript_eslint11.default.config([
676
731
  {
677
732
  name: "@fast-china/typescript",
678
733
  files: [CONST_TS, CONST_TSX],
679
734
  // 继承某些已有的规则
680
- extends: [tseslint11.configs.recommended],
735
+ extends: [import_typescript_eslint11.default.configs.recommended],
681
736
  languageOptions: {
682
737
  // 允许使用最新的 ECMAScript 语法特性
683
738
  ecmaVersion: "latest",
684
- parser: tseslint11.parser,
739
+ parser: import_typescript_eslint11.default.parser,
685
740
  parserOptions: {
686
741
  // 允许使用 TSX 语法,适用于 Vue 组件中的 TSX 代码。
687
742
  ecmaFeatures: {
@@ -737,7 +792,7 @@ var typescriptCoreConfigs = tseslint11.config([
737
792
  }
738
793
  }
739
794
  ]);
740
- var typescriptConfigs = tseslint11.config([
795
+ var typescriptConfigs = import_typescript_eslint11.default.config([
741
796
  ...typescriptCoreConfigs,
742
797
  {
743
798
  name: "@fast-china/typescript/dts",
@@ -777,35 +832,27 @@ var typescriptConfigs = tseslint11.config([
777
832
  ]);
778
833
 
779
834
  // src/configs/vue.ts
780
- import tseslint12 from "typescript-eslint";
781
- import eslintPluginVue from "eslint-plugin-vue";
782
- import vueEslintParser from "vue-eslint-parser";
783
-
784
- // src/env/index.ts
785
- import process from "node:process";
786
- import { getPackageInfoSync } from "local-pkg";
787
- import { isPackageExists } from "local-pkg";
835
+ var import_typescript_eslint12 = __toESM(require("typescript-eslint"), 1);
836
+ var import_eslint_plugin_vue = __toESM(require("eslint-plugin-vue"), 1);
837
+ var import_vue_eslint_parser = __toESM(require("vue-eslint-parser"), 1);
838
+ var import_node_process = __toESM(require("process"), 1);
839
+ var import_local_pkg = require("local-pkg");
788
840
  var getVueVersion = () => {
789
- const pkg = getPackageInfoSync("vue", { paths: [process.cwd()] });
841
+ const pkg = (0, import_local_pkg.getPackageInfoSync)("vue", { paths: [import_node_process.default.cwd()] });
790
842
  if (pkg && typeof pkg.version === "string" && !Number.isNaN(+pkg.version[0])) {
791
843
  return +pkg.version[0];
792
844
  }
793
845
  return 3;
794
846
  };
795
- var hasVue = isPackageExists("vue") || isPackageExists("nuxt");
796
847
  var isVue3 = getVueVersion() === 3;
797
-
798
- // src/configs/vue.ts
799
- var vueConfigs = tseslint12.config([
848
+ var vueConfigs = import_typescript_eslint12.default.config([
800
849
  {
801
850
  name: "@fast-china/vue",
802
851
  files: [CONST_VUE],
803
852
  // 继承某些已有的规则
804
- extends: [
805
- ...isVue3 ? eslintPluginVue.configs["flat/recommended"] : eslintPluginVue.configs["flat/vue2-recommended"]
806
- ],
853
+ extends: [...isVue3 ? import_eslint_plugin_vue.default.configs["flat/recommended"] : import_eslint_plugin_vue.default.configs["flat/vue2-recommended"]],
807
854
  languageOptions: {
808
- parser: vueEslintParser,
855
+ parser: import_vue_eslint_parser.default,
809
856
  parserOptions: {
810
857
  // 允许在 Vue 文件中的脚本部分使用 TypeScript 语法
811
858
  parser: "@typescript-eslint/parser",
@@ -822,10 +869,10 @@ var vueConfigs = tseslint12.config([
822
869
  }
823
870
  },
824
871
  plugins: {
825
- "@typescript-eslint": tseslint12.plugin,
826
- vue: vueEslintParser
872
+ "@typescript-eslint": import_typescript_eslint12.default.plugin,
873
+ vue: import_vue_eslint_parser.default
827
874
  },
828
- processor: eslintPluginVue.processors[".vue"],
875
+ processor: import_eslint_plugin_vue.default.processors[".vue"],
829
876
  rules: {
830
877
  // vue (https://eslint.vuejs.org/rules)
831
878
  // 关闭 - 禁止使用未声明的变量,以避免在 .vue 文件中出现关于未定义变量的警告,这在 Vue 单文件组件中可能不适用或会导致不必要的警告
@@ -913,7 +960,7 @@ var vueConfigs = tseslint12.config([
913
960
  }
914
961
  },
915
962
  plugins: {
916
- vue: eslintPluginVue
963
+ vue: import_eslint_plugin_vue.default
917
964
  }
918
965
  }
919
966
  ]);
@@ -933,7 +980,8 @@ var index_default = [
933
980
  ...jsonConfigs,
934
981
  ...markdownConfigs
935
982
  ];
936
- export {
983
+ // Annotate the CommonJS export names for ESM import in node:
984
+ 0 && (module.exports = {
937
985
  CONST_DIST,
938
986
  CONST_JS,
939
987
  CONST_JSON,
@@ -951,13 +999,10 @@ export {
951
999
  CONST_VUE,
952
1000
  CONST_YAML,
953
1001
  commonConfigs,
954
- index_default as default,
955
- hasVue,
956
1002
  ignoresConfigs,
957
1003
  importConfigs,
958
1004
  importUseLodashRules,
959
1005
  importUseLodashUnifiedRules,
960
- isVue3,
961
1006
  javascriptConfigs,
962
1007
  jsonConfigs,
963
1008
  markdownConfigs,
@@ -968,5 +1013,5 @@ export {
968
1013
  typescriptConfigs,
969
1014
  typescriptCoreConfigs,
970
1015
  vueConfigs
971
- };
972
- //# sourceMappingURL=index.js.map
1016
+ });
1017
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/flat/index.ts","../../src/configs/common.ts","../../src/configs/ignores.ts","../../src/constants/index.ts","../../src/configs/import.ts","../../src/configs/javascript.ts","../../src/configs/json.ts","../../src/configs/markdown.ts","../../src/configs/prettier.ts","../../src/configs/regexp.ts","../../src/configs/sort-package.ts","../../src/configs/sort-tsconfig.ts","../../src/configs/typescript.ts","../../src/configs/vue.ts"],"sourcesContent":["import { commonConfigs } from \"../configs/common\";\nimport { ignoresConfigs } from \"../configs/ignores\";\nimport { importConfigs } from \"../configs/import\";\nimport { javascriptConfigs } from \"../configs/javascript\";\nimport { jsonConfigs } from \"../configs/json\";\nimport { markdownConfigs } from \"../configs/markdown\";\nimport { prettierConfigs } from \"../configs/prettier\";\nimport { regexpConfigs } from \"../configs/regexp\";\nimport { packageJsonSortConfigs } from \"../configs/sort-package\";\nimport { tsconfigJsonSortConfigs } from \"../configs/sort-tsconfig\";\nimport { typescriptConfigs } from \"../configs/typescript\";\nimport { vueConfigs } from \"../configs/vue\";\n\nexport * from \"../configs/common\";\nexport * from \"../configs/ignores\";\nexport * from \"../configs/import\";\nexport * from \"../configs/javascript\";\nexport * from \"../configs/json\";\nexport * from \"../configs/markdown\";\nexport * from \"../configs/prettier\";\nexport * from \"../configs/regexp\";\nexport * from \"../configs/sort-package\";\nexport * from \"../configs/sort-tsconfig\";\nexport * from \"../configs/typescript\";\nexport * from \"../configs/vue\";\n\nexport * from \"../constants\";\n\nexport default [\n\t...ignoresConfigs,\n\t...commonConfigs,\n\t...regexpConfigs,\n\t...javascriptConfigs,\n\t...typescriptConfigs,\n\t...importConfigs,\n\t...prettierConfigs,\n\t...packageJsonSortConfigs,\n\t...tsconfigJsonSortConfigs,\n\t...vueConfigs,\n\t...jsonConfigs,\n\t...markdownConfigs,\n];\n","import tseslint from \"typescript-eslint\";\n\n/**\n * 公共配置\n * @description 最佳实践\n */\nexport const commonConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/common\",\n\t\trules: {\n\t\t\t// 确保数组的回调函数(如 Array.prototype.map、Array.prototype.filter、Array.prototype.reduce 等)总是有一个返回值\n\t\t\t\"array-callback-return\": \"error\",\n\t\t\t// 强制使用块级作用域变量(let 或 const),避免使用函数作用域变量(var)\n\t\t\t\"block-scoped-var\": \"error\",\n\t\t\t// 禁止使用 alert、confirm 和 prompt 等浏览器弹出对话框\n\t\t\t\"no-alert\": \"warn\",\n\t\t\t// 禁止在 switch 语句的 case 或 default 子句中声明变量\n\t\t\t\"no-case-declarations\": \"error\",\n\t\t\t// 禁止使用多行字符串,即不允许使用反斜杠 \\ 来连接多行字符串\n\t\t\t\"no-multi-str\": \"error\",\n\t\t\t// 禁止使用 with 语句\n\t\t\t\"no-with\": \"error\",\n\t\t\t// 禁止使用 void 操作符\n\t\t\t\"no-void\": \"error\",\n\t\t\t// 禁止多个空行\n\t\t\t\"no-multiple-empty-lines\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 最多允许1行\n\t\t\t\t\tmax: 1,\n\t\t\t\t},\n\t\t\t],\n\n\t\t\t// import 排序\n\t\t\t\"sort-imports\": [\n\t\t\t\t\"warn\",\n\t\t\t\t{\n\t\t\t\t\t// 不忽略导入语句中模块名的大小写\n\t\t\t\t\tignoreCase: false,\n\t\t\t\t\t// 忽略导入声明的排序\n\t\t\t\t\tignoreDeclarationSort: true,\n\t\t\t\t\t// 不忽略导入成员的排序\n\t\t\t\t\tignoreMemberSort: false,\n\t\t\t\t\t// 成员语法排序顺序\n\t\t\t\t\tmemberSyntaxSortOrder: [\"none\", \"all\", \"multiple\", \"single\"],\n\t\t\t\t\t// 不允许分组导入\n\t\t\t\t\tallowSeparatedGroups: false,\n\t\t\t\t},\n\t\t\t],\n\n\t\t\t// 强制在数学运算中使用 ** 运算符代替 Math.pow()\n\t\t\t\"prefer-exponentiation-operator\": \"error\",\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport { CONST_DIST, CONST_LOCKFILE, CONST_NODE_MODULES, CONST_PUBLIC } from \"../constants\";\nimport eslintConfigFlatGitignore from \"eslint-config-flat-gitignore\";\n\n/**\n * 忽略配置\n */\nexport const ignoresConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/ignores/global\",\n\t\tignores: [\n\t\t\tCONST_NODE_MODULES,\n\t\t\tCONST_DIST,\n\t\t\tCONST_PUBLIC,\n\t\t\t...CONST_LOCKFILE,\n\n\t\t\t\"**/output\",\n\t\t\t\"**/coverage\",\n\t\t\t\"**/temp\",\n\t\t\t\"**/fixtures\",\n\t\t\t\"**/.vitepress/cache\",\n\t\t\t\"**/.nuxt\",\n\t\t\t\"**/.vercel\",\n\t\t\t\"**/.changeset\",\n\t\t\t\"**/.idea\",\n\t\t\t\"**/.output\",\n\t\t\t\"**/.vite-inspect\",\n\t\t\t\"**/.nitro\",\n\n\t\t\t\"**/CHANGELOG*.md\",\n\t\t\t\"**/*.min.*\",\n\t\t\t\"**/LICENSE*\",\n\t\t\t\"**/__snapshots__\",\n\t\t\t\"**/auto-import?(s).d.ts\",\n\t\t\t\"**/components.d.ts\",\n\t\t],\n\t},\n\t{\n\t\tname: \"@fast-china/ignores/git\",\n\t\t...eslintConfigFlatGitignore({ strict: false }),\n\t},\n]);\n","/**\n * JS\n */\nexport const CONST_JS = \"**/*.?([cm])js\";\n\n/**\n * JSX\n */\nexport const CONST_JSX = \"**/*.?([cm])jsx\";\n\n/**\n * TS\n */\nexport const CONST_TS = \"**/*.?([cm])ts\";\n\n/**\n * TSX\n */\nexport const CONST_TSX = \"**/*.?([cm])tsx\";\n\n/**\n * JSON\n */\nexport const CONST_JSON = \"**/*.json\";\n\n/**\n * JSONC\n */\nexport const CONST_JSONC = \"**/*.jsonc\";\n\n/**\n * JSON5\n */\nexport const CONST_JSON5 = \"**/*.json5\";\n\n/**\n * JSON6\n */\nexport const CONST_JSON6 = \"**/*.json6\";\n\n/**\n * MD\n */\nexport const CONST_MD = \"**/*.md\";\n\n/**\n * VUE\n */\nexport const CONST_VUE = \"**/*.vue\";\n\n/**\n * YAML\n */\nexport const CONST_YAML = \"**/*.y?(a)ml\";\n\n/**\n * node_modules\n */\nexport const CONST_NODE_MODULES = \"**/node_modules\";\n\n/**\n * 打包目录 dist\n */\nexport const CONST_DIST = \"**/dist\";\n\n/**\n * 包管理 lock 文件\n */\nexport const CONST_LOCKFILE = [\"**/package-lock.json\", \"**/yarn.lock\", \"**/pnpm-lock.yaml\", \"**/bun.lockb\"];\n\n/**\n * public\n */\nexport const CONST_PUBLIC = \"**/public\";\n\n/**\n * TS 配置文件\n */\nexport const CONST_TSCONFIG = [\"**/tsconfig.json\", \"**/tsconfig.*.json\"];\n","// @ts-nocheck\nimport tseslint from \"typescript-eslint\";\nimport eslintPluginImport from \"eslint-plugin-import\";\nimport { CONST_JS, CONST_JSX, CONST_TS, CONST_TSX } from \"../constants\";\nimport { Linter } from \"eslint\";\n\n/**\n * 导入使用 lodash-unified 模块规则\n */\nexport const importUseLodashUnifiedRules: Linter.RulesRecord = {\n\t// 限制某些模块导入\n\t\"no-restricted-imports\": [\n\t\t\"error\",\n\t\t{\n\t\t\tpaths: [\n\t\t\t\t{ name: \"lodash\", message: \"Use lodash-unified instead.\" },\n\t\t\t\t{ name: \"lodash-es\", message: \"Use lodash-unified instead.\" },\n\t\t\t],\n\t\t\tpatterns: [\n\t\t\t\t{\n\t\t\t\t\tgroup: [\"lodash/*\", \"lodash-es/*\"],\n\t\t\t\t\tmessage: \"Use lodash-unified instead.\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n\n/**\n * 导入使用 lodash 模块规则\n */\nexport const importUseLodashRules: Linter.RulesRecord = {\n\t// 限制某些模块导入\n\t\"no-restricted-imports\": [\n\t\t\"error\",\n\t\t{\n\t\t\tpaths: [\n\t\t\t\t{ name: \"lodash-es\", message: \"Use lodash instead.\" },\n\t\t\t\t{ name: \"lodash-unified\", message: \"Use lodash instead.\" },\n\t\t\t],\n\t\t\tpatterns: [\n\t\t\t\t{\n\t\t\t\t\tgroup: [\"lodash-es/*\", \"lodash-unified/*\"],\n\t\t\t\t\tmessage: \"Use lodash instead.\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n\n/**\n * import配置\n */\nexport const importConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/import\",\n\t\t// 继承某些已有的规则\n\t\textends: [eslintPluginImport.flatConfigs.recommended],\n\t\tsettings: {\n\t\t\t// 确保 ESLint 和 eslint-plugin-import 能够正确解析项目中的所有相关文件类型\n\t\t\t\"import/resolver\": {\n\t\t\t\tnode: {\n\t\t\t\t\textensions: [CONST_JS, CONST_JSX, CONST_TS, CONST_TSX, \".d.ts\"],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t// 确保所有的 import 语句位于文件的顶部,紧接在文件的开头部分,且在任何其他代码之前\n\t\t\t\"import/first\": \"error\",\n\t\t\t// 禁止在同一文件中出现重复的 import 语句\n\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t// 导入模块排序风格\n\t\t\t\"import/order\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 导入模块分组\n\t\t\t\t\tgroups: [\n\t\t\t\t\t\t// Node.js 内置模块\n\t\t\t\t\t\t\"builtin\",\n\t\t\t\t\t\t// 第三方模块\n\t\t\t\t\t\t\"external\",\n\t\t\t\t\t\t// 项目内部模块\n\t\t\t\t\t\t\"internal\",\n\t\t\t\t\t\t// 父级目录中的模块\n\t\t\t\t\t\t\"parent\",\n\t\t\t\t\t\t// 具有相同父级的模块\n\t\t\t\t\t\t\"sibling\",\n\t\t\t\t\t\t// 当前目录的 index.js 或 index.ts 文件\n\t\t\t\t\t\t\"index\",\n\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"unknown\",\n\t\t\t\t\t],\n\t\t\t\t\tpathGroups: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"vue\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@vue/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"element-plus\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@element-plus/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"fast-element-plus\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@fast-element-plus/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@fast-china/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tpathGroupsExcludedImportTypes: [\"type\"],\n\t\t\t\t\t// 禁止不同组之间进行换行\n\t\t\t\t\t\"newlines-between\": \"never\",\n\t\t\t\t\t//根据字母顺序对每个组内的顺序进行排序\n\t\t\t\t\talphabetize: {\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\tcaseInsensitive: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 关闭 - 禁用对无法解析的模块导入的检查\n\t\t\t\"import/no-unresolved\": \"off\",\n\t\t\t// 关闭 - 禁用对命名空间导入(例如,import * as)的检查\n\t\t\t\"import/namespace\": \"off\",\n\t\t\t// 关闭 - 禁用对默认导入的检查\n\t\t\t\"import/default\": \"off\",\n\t\t\t// 关闭 - 禁用对以默认导出方式作为命名导入的检查\n\t\t\t\"import/no-named-as-default\": \"off\",\n\t\t\t// 关闭 - 禁用对将默认导出成员当作命名导入的检查\n\t\t\t\"import/no-named-as-default-member\": \"off\",\n\t\t\t// 关闭 - 禁用对命名导入(即从模块中导入特定命名的内容)的检查\n\t\t\t\"import/named\": \"off\",\n\n\t\t\t...importUseLodashUnifiedRules,\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport globals from \"globals\";\nimport eslint from \"@eslint/js\";\nimport { CONST_JSX } from \"../constants\";\n\n/**\n * JavaScript配置\n */\nexport const javascriptConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/javascript\",\n\t\t// 继承某些已有的规则\n\t\textends: [eslint.configs.recommended],\n\t\tlanguageOptions: {\n\t\t\t// 允许使用最新的 ECMAScript 语法特性\n\t\t\tecmaVersion: \"latest\",\n\t\t\tglobals: {\n\t\t\t\t...globals.browser,\n\t\t\t\t...globals.es2022,\n\t\t\t\t...globals.node,\n\t\t\t},\n\t\t\tparserOptions: {\n\t\t\t\t// 允许使用 JSX 语法,适用于 Vue 组件中的 JSX 代码。\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t},\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t// JS/TS (http://eslint.cn/docs/rules)\n\n\t\t\t// 强制使用 camelCase 命名风格\n\t\t\tcamelcase: [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 允许对象属性使用非 camelCase 风格\n\t\t\t\t\tproperties: \"never\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 禁止使用控制台\n\t\t\t\"no-console\": [\n\t\t\t\t\"warn\",\n\t\t\t\t{\n\t\t\t\t\t// 允许除 warn/error 之外的其他 console.xx 方法\n\t\t\t\t\tallow: [\"warn\", \"error\"],\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 禁止使用 debugger\n\t\t\t\"no-debugger\": \"warn\",\n\t\t\t// 禁止在条件语句中使用常量条件\n\t\t\t\"no-constant-condition\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 允许在循环语句中使用常量条件\n\t\t\t\t\tcheckLoops: false,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 禁止使用某些特定的语法\n\t\t\t\"no-restricted-syntax\": [\n\t\t\t\t\"error\",\n\t\t\t\t// 禁止使用标记语句(labeled statements)\n\t\t\t\t\"LabeledStatement\",\n\t\t\t\t// 禁止使用 with 语句\n\t\t\t\t\"WithStatement\",\n\t\t\t],\n\t\t\t// 禁止在 return 语句中使用 await\n\t\t\t\"no-return-await\": \"error\",\n\t\t\t// 禁止使用 var 关键字,强制使用 let 或 const\n\t\t\t\"no-var\": \"error\",\n\t\t\t// 禁止使用空的块语句\n\t\t\t\"no-empty\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 允许空的 catch 块\n\t\t\t\t\tallowEmptyCatch: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 该规则禁止使用不规则或不标准的空白字符\n\t\t\t\"no-irregular-whitespace\": \"error\",\n\t\t\t// 禁止在函数或变量定义之前使用它们\n\t\t\t\"no-use-before-define\": \"warn\",\n\t\t\t// 强制使用 const 声明不被修改的变量\n\t\t\t\"prefer-const\": [\n\t\t\t\t\"warn\",\n\t\t\t\t{\n\t\t\t\t\t// 在解构赋值时也推荐使用 const\n\t\t\t\t\tdestructuring: \"all\",\n\t\t\t\t\t// 允许在变量首次赋值前读取变量的值\n\t\t\t\t\tignoreReadBeforeAssign: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 强制使用箭头函数而非普通函数\n\t\t\t\"prefer-arrow-callback\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 不允许使用命名函数作为回调函数\n\t\t\t\t\tallowNamedFunctions: false,\n\t\t\t\t\t// 允许在箭头函数中使用 this 绑定的上下文\n\t\t\t\t\tallowUnboundThis: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 强制使用对象字面量的方法和属性简写语法\n\t\t\t\"object-shorthand\": [\n\t\t\t\t\"error\",\n\t\t\t\t\"always\",\n\t\t\t\t{\n\t\t\t\t\t// 不忽略构造函数中的属性简写\n\t\t\t\t\tignoreConstructors: false,\n\t\t\t\t\t// 强制避免在属性名中使用引号\n\t\t\t\t\tavoidQuotes: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 强制使用 rest 参数代替 arguments 对象\n\t\t\t\"prefer-rest-params\": \"error\",\n\t\t\t// 强制使用展开运算符(...)代替 Function.prototype.apply\n\t\t\t\"prefer-spread\": \"error\",\n\t\t\t// 强制使用模板字面量代替字符串连接\n\t\t\t\"prefer-template\": \"error\",\n\t\t\t// 禁止在同一作用域中重新声明变量\n\t\t\t\"no-redeclare\": \"error\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/javascript/jsx\",\n\t\tfiles: [CONST_JSX],\n\t\trules: {\n\t\t\t// 关闭 - 禁止使用未声明的变量,除非/*global *\\/注释中提到\n\t\t\t\"no-undef\": \"off\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/javascript/md/js\",\n\t\tfiles: [\"**/*.md/*.js\"],\n\t\trules: {\n\t\t\t// 使用使用控制台\n\t\t\t\"no-console\": \"off\",\n\t\t\t// 关闭 - 禁用对无法解析的模块导入的检查\n\t\t\t\"import/no-unresolved\": \"off\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/javascript/script\",\n\t\tfiles: [\"**/scripts/*\", \"**/cli.*\"],\n\t\trules: {\n\t\t\t// 使用使用控制台\n\t\t\t\"no-console\": \"off\",\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginJsonc from \"eslint-plugin-jsonc\";\nimport { CONST_JSON, CONST_JSON5, CONST_JSON6, CONST_JSONC } from \"../constants\";\nimport jsoncEslintParser from \"jsonc-eslint-parser\";\n\n/**\n * Json配置\n */\nexport const jsonConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/json\",\n\t\tfiles: [CONST_JSON, CONST_JSONC, CONST_JSON5, CONST_JSON6],\n\t\t// 继承某些已有的规则\n\t\textends: [...eslintPluginJsonc.configs[\"flat/recommended-with-jsonc\"]],\n\t\tlanguageOptions: {\n\t\t\tparser: jsoncEslintParser,\n\t\t},\n\t\tplugins: {\n\t\t\tjsonc: eslintPluginJsonc,\n\t\t},\n\t\trules: {},\n\t},\n]);\n","// @ts-nocheck\nimport tseslint from \"typescript-eslint\";\nimport eslintPluginMarkdown from \"eslint-plugin-markdown\";\nimport { CONST_MD } from \"../constants\";\n\n/**\n * markdown配置\n */\nexport const markdownConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/markdown\",\n\t\tfiles: [CONST_MD],\n\t\trules: {},\n\t},\n\t...eslintPluginMarkdown.configs.recommended.map((config) => ({\n\t\t...config,\n\t\tname: `@fast-china/${config.name || \"markdown/anonymous\"}`,\n\t})),\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintConfigPrettier from \"eslint-config-prettier\";\nimport eslintPluginPrettierRecommended from \"eslint-plugin-prettier/recommended\";\n\n/**\n * prettier配置\n */\nexport const prettierConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/prettier\",\n\t\t// 继承某些已有的规则\n\t\textends: [eslintPluginPrettierRecommended],\n\t\tplugins: {\n\t\t\tprettier: eslintConfigPrettier as any,\n\t\t},\n\t\trules: {\n\t\t\t// 确保 Prettier 错误被 ESLint 捕获\n\t\t\t\"prettier/prettier\": \"error\",\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginRegexp from \"eslint-plugin-regexp\";\n\n/**\n * regexp配置\n */\nexport const regexpConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/regexp\",\n\t\t...eslintPluginRegexp.configs[\"flat/recommended\"],\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\n\n/**\n * package.json 属性排序\n */\nexport const packageJsonSortConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/sort/package\",\n\t\tfiles: [\"**/package.json\"],\n\t\trules: {\n\t\t\t\"jsonc/sort-array-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^files$\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\"version\",\n\t\t\t\t\t\t\"private\",\n\t\t\t\t\t\t\"packageManager\",\n\t\t\t\t\t\t\"description\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"keywords\",\n\t\t\t\t\t\t\"license\",\n\t\t\t\t\t\t\"homepage\",\n\t\t\t\t\t\t\"bugs\",\n\t\t\t\t\t\t\"repository\",\n\t\t\t\t\t\t\"author\",\n\t\t\t\t\t\t\"contributors\",\n\t\t\t\t\t\t\"funding\",\n\t\t\t\t\t\t\"files\",\n\t\t\t\t\t\t\"main\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"exports\",\n\t\t\t\t\t\t\"typesVersions\",\n\t\t\t\t\t\t\"sideEffects\",\n\t\t\t\t\t\t\"unpkg\",\n\t\t\t\t\t\t\"jsdelivr\",\n\t\t\t\t\t\t\"browser\",\n\t\t\t\t\t\t\"bin\",\n\t\t\t\t\t\t\"man\",\n\t\t\t\t\t\t\"directories\",\n\t\t\t\t\t\t\"publishConfig\",\n\t\t\t\t\t\t\"scripts\",\n\t\t\t\t\t\t\"peerDependencies\",\n\t\t\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\t\t\"dependencies\",\n\t\t\t\t\t\t\"devDependencies\",\n\t\t\t\t\t\t\"engines\",\n\t\t\t\t\t\t\"config\",\n\t\t\t\t\t\t\"overrides\",\n\t\t\t\t\t\t\"pnpm\",\n\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\"eslintConfig\",\n\t\t\t\t\t\t\"prettier\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\"types\", \"require\", \"import\", \"default\"],\n\t\t\t\t\tpathPattern: \"^exports.*$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: { type: \"asc\" },\n\t\t\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport { CONST_TSCONFIG } from \"../constants\";\n\n/**\n * tsconfig.json 属性排序\n */\nexport const tsconfigJsonSortConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/sort/tsconfig\",\n\t\tfiles: [CONST_TSCONFIG],\n\t\trules: {\n\t\t\t\"jsonc/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\t\t\tpathPattern: \"^$\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t/* Projects */\n\t\t\t\t\t\t\"incremental\",\n\t\t\t\t\t\t\"composite\",\n\t\t\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\t\t\"disableReferencedProjectLoad\",\n\t\t\t\t\t\t/* Language and Environment */\n\t\t\t\t\t\t\"target\",\n\t\t\t\t\t\t\"jsx\",\n\t\t\t\t\t\t\"jsxFactory\",\n\t\t\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\t\t\"lib\",\n\t\t\t\t\t\t\"moduleDetection\",\n\t\t\t\t\t\t\"noLib\",\n\t\t\t\t\t\t\"reactNamespace\",\n\t\t\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\t\t\"experimentalDecorators\",\n\t\t\t\t\t\t/* Modules */\n\t\t\t\t\t\t\"baseUrl\",\n\t\t\t\t\t\t\"rootDir\",\n\t\t\t\t\t\t\"rootDirs\",\n\t\t\t\t\t\t\"customConditions\",\n\t\t\t\t\t\t\"module\",\n\t\t\t\t\t\t\"moduleResolution\",\n\t\t\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\t\t\"noResolve\",\n\t\t\t\t\t\t\"paths\",\n\t\t\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\t\t\"typeRoots\",\n\t\t\t\t\t\t\"types\",\n\t\t\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\t\t\"allowUmdGlobalAccess\",\n\t\t\t\t\t\t/* JavaScript Support */\n\t\t\t\t\t\t\"allowJs\",\n\t\t\t\t\t\t\"checkJs\",\n\t\t\t\t\t\t\"maxNodeModuleJsDepth\",\n\t\t\t\t\t\t/* Type Checking */\n\t\t\t\t\t\t\"strict\",\n\t\t\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\t\t\"useUnknownInCatchVariables\",\n\t\t\t\t\t\t/* Emit */\n\t\t\t\t\t\t\"declaration\",\n\t\t\t\t\t\t\"declarationDir\",\n\t\t\t\t\t\t\"declarationMap\",\n\t\t\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\t\t\"emitBOM\",\n\t\t\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\t\t\"importHelpers\",\n\t\t\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\t\t\"inlineSources\",\n\t\t\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\t\t\"mapRoot\",\n\t\t\t\t\t\t\"newLine\",\n\t\t\t\t\t\t\"noEmit\",\n\t\t\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\t\t\"outDir\",\n\t\t\t\t\t\t\"outFile\",\n\t\t\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\t\t\"removeComments\",\n\t\t\t\t\t\t\"sourceMap\",\n\t\t\t\t\t\t\"sourceRoot\",\n\t\t\t\t\t\t\"stripInternal\",\n\t\t\t\t\t\t/* Interop Constraints */\n\t\t\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\t\t\"isolatedModules\",\n\t\t\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\t\t\"verbatimModuleSyntax\",\n\t\t\t\t\t\t/* Completeness */\n\t\t\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\t\t\"skipLibCheck\",\n\t\t\t\t\t],\n\t\t\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport { CONST_JS, CONST_TS, CONST_TSX } from \"../constants\";\n\n/**\n * TypeScript 核心配置\n */\nexport const typescriptCoreConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/typescript\",\n\t\tfiles: [CONST_TS, CONST_TSX],\n\t\t// 继承某些已有的规则\n\t\textends: [tseslint.configs.recommended],\n\t\tlanguageOptions: {\n\t\t\t// 允许使用最新的 ECMAScript 语法特性\n\t\t\tecmaVersion: \"latest\",\n\t\t\tparser: tseslint.parser,\n\t\t\tparserOptions: {\n\t\t\t\t// 允许使用 TSX 语法,适用于 Vue 组件中的 TSX 代码。\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\ttsx: true,\n\t\t\t\t},\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t// TS (https://typescript-eslint.io/rules)\n\n\t\t\t// 要求在导出函数和类的公共方法上显式声明返回类型\n\t\t\t\"@typescript-eslint/explicit-module-boundary-types\": \"off\",\n\t\t\t// 要求在 TypeScript 函数和方法中显式地指定返回类型\n\t\t\t\"@typescript-eslint/explicit-function-return-type\": \"error\",\n\t\t\t// 禁止在同一作用域中重新声明 TypeScript 变量\n\t\t\t\"@typescript-eslint/no-redeclare\": \"error\",\n\t\t\t// 允许定义未使用的变量\n\t\t\t\"@typescript-eslint/no-unused-vars\": \"off\",\n\t\t\t// 允许使用自定义TypeScript模块和命名空间\n\t\t\t\"@typescript-eslint/no-namespace\": \"off\",\n\t\t\t// 允许使用 any 类型\n\t\t\t\"@typescript-eslint/no-explicit-any\": \"off\",\n\t\t\t// 禁止在 TypeScript 文件中使用 require 函数进行模块导入\n\t\t\t\"@typescript-eslint/no-var-requires\": \"error\",\n\t\t\t// 禁止定义空函数\n\t\t\t\"@typescript-eslint/no-empty-function\": \"error\",\n\t\t\t// 禁止无用的表达式\n\t\t\t\"@typescript-eslint/no-unused-expressions\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 允许短路操作符(&& 和 ||)中的无副作用表达式\n\t\t\t\t\tallowShortCircuit: true,\n\t\t\t\t\t// 允许三元操作符中的无副作用表达式\n\t\t\t\t\tallowTernary: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 禁止在 TypeScript 代码中对类型已经可以被推断的变量或参数进行显式的类型注解\n\t\t\t\"@typescript-eslint/no-inferrable-types\": \"error\",\n\t\t\t// 禁止使用后缀运算符的非空断言(!)\n\t\t\t\"@typescript-eslint/no-non-null-assertion\": \"error\",\n\t\t\t// 禁止在可选链(?)后使用非空断言(!)\n\t\t\t\"@typescript-eslint/no-non-null-asserted-optional-chain\": \"error\",\n\t\t\t// 禁止在代码中使用 @ts-ignore 注释\n\t\t\t\"@typescript-eslint/ban-ts-comment\": [\"error\", { \"ts-ignore\": false }],\n\t\t\t// 一致地使用 TypeScript 类型导入\n\t\t\t\"@typescript-eslint/consistent-type-imports\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 允许使用类型注解\n\t\t\t\t\tdisallowTypeAnnotations: false,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]);\n\n/**\n * TypeScript配置\n */\nexport const typescriptConfigs = tseslint.config([\n\t...typescriptCoreConfigs,\n\t{\n\t\tname: \"@fast-china/typescript/dts\",\n\t\tfiles: [\"**/*.d.ts\"],\n\t\trules: {\n\t\t\t// 关闭 - 禁止在文件中重复导入相同的模块\n\t\t\t\"import/no-duplicates\": \"off\",\n\t\t\t// 关闭 - 一致地使用 TypeScript 类型导入\n\t\t\t\"@typescript-eslint/consistent-type-imports\": \"off\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/typescript/tsx\",\n\t\tfiles: [CONST_TSX],\n\t\trules: {\n\t\t\t// 关闭 - 要求在 TypeScript 函数和方法中显式地指定返回类型\n\t\t\t// \"@typescript-eslint/explicit-function-return-type\": \"off\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/typescript/cjs\",\n\t\tfiles: [CONST_JS],\n\t\trules: {\n\t\t\t// 关闭 - 不允许使用 require 语句\n\t\t\t\"@typescript-eslint/no-var-requires\": \"off\",\n\t\t\t\"@typescript-eslint/no-require-imports\": \"off\",\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/typescript/md/js\",\n\t\tfiles: [\"**/*.md/*.ts\"],\n\t\trules: {\n\t\t\t// 允许定义未使用的变量\n\t\t\t\"@typescript-eslint/no-unused-vars\": \"off\",\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginVue from \"eslint-plugin-vue\";\nimport vueEslintParser from \"vue-eslint-parser\";\nimport { CONST_VUE } from \"../constants\";\nimport { typescriptCoreConfigs } from \"./typescript\";\n\nimport process from \"node:process\";\nimport { getPackageInfoSync } from \"local-pkg\";\n\nconst getVueVersion = () => {\n\tconst pkg = getPackageInfoSync(\"vue\", { paths: [process.cwd()] });\n\tif (pkg && typeof pkg.version === \"string\" && !Number.isNaN(+pkg.version[0])) {\n\t\treturn +pkg.version[0];\n\t}\n\treturn 3;\n};\n\n/**\n * 是否为 vue3 版本\n */\nconst isVue3 = getVueVersion() === 3;\n\n/**\n * vue配置\n */\nexport const vueConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/vue\",\n\t\tfiles: [CONST_VUE],\n\t\t// 继承某些已有的规则\n\t\textends: [...(isVue3 ? eslintPluginVue.configs[\"flat/recommended\"] : eslintPluginVue.configs[\"flat/vue2-recommended\"])],\n\t\tlanguageOptions: {\n\t\t\tparser: vueEslintParser,\n\t\t\tparserOptions: {\n\t\t\t\t// 允许在 Vue 文件中的脚本部分使用 TypeScript 语法\n\t\t\t\tparser: \"@typescript-eslint/parser\",\n\t\t\t\t// 指定额外的文件扩展名,告诉解析器 .vue 文件也需要处理\n\t\t\t\textraFileExtensions: [\".vue\"],\n\t\t\t\t// 允许使用最新的 ECMAScript 语法特性\n\t\t\t\tecmaVersion: \"latest\",\n\t\t\t\t// 允许使用 JSX/TSX 语法,适用于 Vue 组件中的 JSX/TSX 代码。\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t\ttsx: true,\n\t\t\t\t},\n\t\t\t\tsourceType: \"module\",\n\t\t\t},\n\t\t},\n\t\tplugins: {\n\t\t\t\"@typescript-eslint\": tseslint.plugin,\n\t\t\tvue: vueEslintParser,\n\t\t},\n\t\tprocessor: eslintPluginVue.processors[\".vue\"],\n\t\trules: {\n\t\t\t// vue (https://eslint.vuejs.org/rules)\n\n\t\t\t// 关闭 - 禁止使用未声明的变量,以避免在 .vue 文件中出现关于未定义变量的警告,这在 Vue 单文件组件中可能不适用或会导致不必要的警告\n\t\t\t\"no-undef\": \"off\",\n\n\t\t\t// 允许使用 v-html\n\t\t\t\"vue/no-v-html\": \"off\",\n\t\t\t// 禁用所有 props 必填时,必须提供默认值\n\t\t\t\"vue/require-default-prop\": \"off\",\n\t\t\t// 强制组件中必须使用 emits 选项声明事件\n\t\t\t\"vue/require-explicit-emits\": \"error\",\n\t\t\t// 禁用组件名称必须是多单词\n\t\t\t\"vue/multi-word-component-names\": \"off\",\n\t\t\t// 关闭 - 强制从 vue 中导入 Vue相关 API\n\t\t\t\"vue/prefer-import-from-vue\": \"off\",\n\t\t\t// 强制 HTML 属性使用 camelCase 风格\n\t\t\t\"vue/attribute-hyphenation\": [\n\t\t\t\t\"error\",\n\t\t\t\t\"always\",\n\t\t\t\t{\n\t\t\t\t\tignore: [\n\t\t\t\t\t\t// 忽略 Element-Plus 加载文案\"element-loading-text\"\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\n\t\t\t// 禁止重复的字段名\n\t\t\t\"vue/no-dupe-keys\": \"error\",\n\t\t\t// 禁止直接修改 props 的值\n\t\t\t\"vue/no-mutating-props\": \"error\",\n\t\t\t// 禁止使用 Vue.js 内置的保留组件名称(如 transition、keep-alive 等)作为自定义组件名称\n\t\t\t\"vue/no-reserved-component-names\": \"error\",\n\t\t\t// 禁止在自定义组件上使用 v-text 或 v-html 指令\n\t\t\t\"vue/no-v-text-v-html-on-component\": \"off\",\n\t\t\t// 防止<script setup>使用的变量<template>被标记为未使用,此规则仅在启用该no-unused-vars规则时有效。\n\t\t\t// \"vue/script-setup-uses-vars\": \"error\",\n\t\t\t// 强制自定义事件名称使用 camelCase 风格命名\n\t\t\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t\t\t// 强制每个 Vue 文件中只包含一个 Vue 组件\n\t\t\t\"vue/one-component-per-file\": \"off\",\n\t\t\t// 闭合标签换行风格\n\t\t\t\"vue/html-closing-bracket-newline\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 强制要求当 HTML 元素跨多行时,闭合标签必须出现在新的一行上\n\t\t\t\t\tmultiline: \"always\",\n\t\t\t\t\t// 强制要求当 HTML 元素只有一行时,闭合标签应与开始标签在同一行上\n\t\t\t\t\tsingleline: \"never\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 强制 Vue 模板中 HTML 元素的属性按照指定的顺序排列\n\t\t\t\"vue/attributes-order\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\torder: [\n\t\t\t\t\t\t\"DEFINITION\",\n\t\t\t\t\t\t\"LIST_RENDERING\",\n\t\t\t\t\t\t\"CONDITIONALS\",\n\t\t\t\t\t\t\"RENDER_MODIFIERS\",\n\t\t\t\t\t\t\"GLOBAL\",\n\t\t\t\t\t\t\"UNIQUE\",\n\t\t\t\t\t\t\"OTHER_ATTR\",\n\t\t\t\t\t\t\"EVENTS\",\n\t\t\t\t\t\t\"CONTENT\",\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\t{\n\t\tname: \"@fast-china/vue/ts\",\n\t\tfiles: [CONST_VUE],\n\t\t// 继承某些已有的规则\n\t\textends: [...typescriptCoreConfigs],\n\t},\n\t{\n\t\tname: \"@fast-china/reactivity\",\n\t\tlanguageOptions: {\n\t\t\tglobals: {\n\t\t\t\t$: \"readonly\",\n\t\t\t\t$$: \"readonly\",\n\t\t\t\t$computed: \"readonly\",\n\t\t\t\t$customRef: \"readonly\",\n\t\t\t\t$ref: \"readonly\",\n\t\t\t\t$shallowRef: \"readonly\",\n\t\t\t\t$toRef: \"readonly\",\n\t\t\t},\n\t\t},\n\t\tplugins: {\n\t\t\tvue: eslintPluginVue,\n\t\t},\n\t},\n]);\n"],"mappings":"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","names":["tseslint","import_typescript_eslint","tseslint","eslintConfigFlatGitignore","import_typescript_eslint","tseslint","eslintPluginImport","import_typescript_eslint","tseslint","eslint","globals","import_typescript_eslint","tseslint","eslintPluginJsonc","jsoncEslintParser","import_typescript_eslint","tseslint","eslintPluginMarkdown","import_typescript_eslint","tseslint","eslintPluginPrettierRecommended","eslintConfigPrettier","import_typescript_eslint","tseslint","eslintPluginRegexp","import_typescript_eslint","tseslint","import_typescript_eslint","tseslint","import_typescript_eslint","tseslint","import_typescript_eslint","process","tseslint","eslintPluginVue","vueEslintParser"]}
@@ -139,15 +139,6 @@ declare const CONST_PUBLIC = "**/public";
139
139
  */
140
140
  declare const CONST_TSCONFIG: string[];
141
141
 
142
- /**
143
- * 是否包含 vue
144
- */
145
- declare const hasVue: boolean;
146
- /**
147
- * 是否为 vue3 版本
148
- */
149
- declare const isVue3: boolean;
150
-
151
142
  declare const _default: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.Config[];
152
143
 
153
- export { CONST_DIST, CONST_JS, CONST_JSON, CONST_JSON5, CONST_JSON6, CONST_JSONC, CONST_JSX, CONST_LOCKFILE, CONST_MD, CONST_NODE_MODULES, CONST_PUBLIC, CONST_TS, CONST_TSCONFIG, CONST_TSX, CONST_VUE, CONST_YAML, commonConfigs, _default as default, hasVue, ignoresConfigs, importConfigs, importUseLodashRules, importUseLodashUnifiedRules, isVue3, javascriptConfigs, jsonConfigs, markdownConfigs, packageJsonSortConfigs, prettierConfigs, regexpConfigs, tsconfigJsonSortConfigs, typescriptConfigs, typescriptCoreConfigs, vueConfigs };
144
+ export { CONST_DIST, CONST_JS, CONST_JSON, CONST_JSON5, CONST_JSON6, CONST_JSONC, CONST_JSX, CONST_LOCKFILE, CONST_MD, CONST_NODE_MODULES, CONST_PUBLIC, CONST_TS, CONST_TSCONFIG, CONST_TSX, CONST_VUE, CONST_YAML, commonConfigs, _default as default, ignoresConfigs, importConfigs, importUseLodashRules, importUseLodashUnifiedRules, javascriptConfigs, jsonConfigs, markdownConfigs, packageJsonSortConfigs, prettierConfigs, regexpConfigs, tsconfigJsonSortConfigs, typescriptConfigs, typescriptCoreConfigs, vueConfigs };
@@ -1,5 +1,20 @@
1
1
  const { defineConfig } = require("eslint-define-config");
2
+ const { getPackageInfoSync } = require("local-pkg");
2
3
 
4
+ const getVueVersion = () => {
5
+ const pkg = getPackageInfoSync("vue", { paths: [process.cwd()] });
6
+ if (pkg && typeof pkg.version === "string" && !Number.isNaN(+pkg.version[0])) {
7
+ return +pkg.version[0];
8
+ }
9
+ return 3;
10
+ };
11
+
12
+ /**
13
+ * 是否为 vue3 版本
14
+ */
15
+ const isVue3 = getVueVersion() === 3;
16
+
17
+ // @see: http://eslint.cn
3
18
  module.exports = defineConfig({
4
19
  env: {
5
20
  es6: true,
@@ -14,7 +29,7 @@ module.exports = defineConfig({
14
29
  "plugin:jsonc/recommended-with-jsonc",
15
30
  "plugin:markdown/recommended-legacy",
16
31
  "plugin:regexp/recommended",
17
- "plugin:vue/vue3-recommended",
32
+ isVue3 ? "plugin:vue/recommended" : "plugin:vue/vue2-recommended",
18
33
  "plugin:@typescript-eslint/recommended",
19
34
  "prettier",
20
35
  ],
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fast-china/eslint-config",
3
3
  "author": "小方",
4
- "version": "1.0.11",
4
+ "version": "1.0.13",
5
5
  "description": "Fast ESLint 规则库.",
6
6
  "type": "module",
7
7
  "keywords": [
@@ -24,15 +24,15 @@
24
24
  "dev": "eslint-config-inspector --config src/eslint-inspector.config.ts",
25
25
  "build:dev": "eslint-config-inspector build --config src/eslint-inspector.config.ts",
26
26
  "typegen": "tsx scripts/typegen.ts",
27
- "build": "pnpm run typegen && tsup && @powershell copy './src/index.js' './dist'",
27
+ "build": "pnpm run typegen && tsup && @powershell copy './src/index.cjs' './dist'",
28
28
  "lint:eslint": "eslint --max-warnings 0 \"src/**/*.{vue,js,ts,tsx}\" --fix",
29
29
  "lint:prettier": "prettier --write \"src/**/*.{vue,js,ts,jsx,tsx,md,json,css,scss,less,html}\"",
30
30
  "lint": "pnpm lint:eslint && pnpm lint:prettier"
31
31
  },
32
- "main": "dist/index.js",
32
+ "main": "dist/index.cjs",
33
33
  "exports": {
34
34
  ".": {
35
- "default": "./dist/index.js"
35
+ "default": "./dist/index.cjs"
36
36
  },
37
37
  "./flat": {
38
38
  "types": "./dist/flat/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/configs/common.ts","../../src/configs/ignores.ts","../../src/constants/index.ts","../../src/configs/import.ts","../../src/configs/javascript.ts","../../src/configs/json.ts","../../src/configs/markdown.ts","../../src/configs/prettier.ts","../../src/configs/regexp.ts","../../src/configs/sort-package.ts","../../src/configs/sort-tsconfig.ts","../../src/configs/typescript.ts","../../src/configs/vue.ts","../../src/env/index.ts","../../src/flat/index.ts"],"sourcesContent":["import tseslint from \"typescript-eslint\";\n\n/**\n * 公共配置\n * @description 最佳实践\n */\nexport const commonConfigs = tseslint.config([\n {\n name: \"@fast-china/common\",\n rules: {\n // 确保数组的回调函数(如 Array.prototype.map、Array.prototype.filter、Array.prototype.reduce 等)总是有一个返回值\n \"array-callback-return\": \"error\",\n // 强制使用块级作用域变量(let 或 const),避免使用函数作用域变量(var)\n \"block-scoped-var\": \"error\",\n // 禁止使用 alert、confirm 和 prompt 等浏览器弹出对话框\n \"no-alert\": \"warn\",\n // 禁止在 switch 语句的 case 或 default 子句中声明变量\n \"no-case-declarations\": \"error\",\n // 禁止使用多行字符串,即不允许使用反斜杠 \\ 来连接多行字符串\n \"no-multi-str\": \"error\",\n // 禁止使用 with 语句\n \"no-with\": \"error\",\n // 禁止使用 void 操作符\n \"no-void\": \"error\",\n // 禁止多个空行\n \"no-multiple-empty-lines\": [\n \"error\",\n {\n // 最多允许1行\n max: 1,\n },\n ],\n\n // import 排序\n \"sort-imports\": [\n \"warn\",\n {\n // 不忽略导入语句中模块名的大小写\n ignoreCase: false,\n // 忽略导入声明的排序\n ignoreDeclarationSort: true,\n // 不忽略导入成员的排序\n ignoreMemberSort: false,\n // 成员语法排序顺序\n memberSyntaxSortOrder: [\"none\", \"all\", \"multiple\", \"single\"],\n // 不允许分组导入\n allowSeparatedGroups: false,\n },\n ],\n\n // 强制在数学运算中使用 ** 运算符代替 Math.pow()\n \"prefer-exponentiation-operator\": \"error\",\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport {\n CONST_DIST,\n CONST_LOCKFILE,\n CONST_NODE_MODULES,\n CONST_PUBLIC,\n} from \"../constants\";\nimport eslintConfigFlatGitignore from \"eslint-config-flat-gitignore\";\n\n/**\n * 忽略配置\n */\nexport const ignoresConfigs = tseslint.config([\n {\n name: \"@fast-china/ignores/global\",\n ignores: [\n CONST_NODE_MODULES,\n CONST_DIST,\n CONST_PUBLIC,\n ...CONST_LOCKFILE,\n\n \"**/output\",\n \"**/coverage\",\n \"**/temp\",\n \"**/fixtures\",\n \"**/.vitepress/cache\",\n \"**/.nuxt\",\n \"**/.vercel\",\n \"**/.changeset\",\n \"**/.idea\",\n \"**/.output\",\n \"**/.vite-inspect\",\n \"**/.nitro\",\n\n \"**/CHANGELOG*.md\",\n \"**/*.min.*\",\n \"**/LICENSE*\",\n \"**/__snapshots__\",\n \"**/auto-import?(s).d.ts\",\n \"**/components.d.ts\",\n ],\n },\n {\n name: \"@fast-china/ignores/git\",\n ...eslintConfigFlatGitignore({ strict: false }),\n },\n]);\n","/**\n * JS\n */\nexport const CONST_JS = \"**/*.?([cm])js\";\n\n/**\n * JSX\n */\nexport const CONST_JSX = \"**/*.?([cm])jsx\";\n\n/**\n * TS\n */\nexport const CONST_TS = \"**/*.?([cm])ts\";\n\n/**\n * TSX\n */\nexport const CONST_TSX = \"**/*.?([cm])tsx\";\n\n/**\n * JSON\n */\nexport const CONST_JSON = \"**/*.json\";\n\n/**\n * JSONC\n */\nexport const CONST_JSONC = \"**/*.jsonc\";\n\n/**\n * JSON5\n */\nexport const CONST_JSON5 = \"**/*.json5\";\n\n/**\n * JSON6\n */\nexport const CONST_JSON6 = \"**/*.json6\";\n\n/**\n * MD\n */\nexport const CONST_MD = \"**/*.md\";\n\n/**\n * VUE\n */\nexport const CONST_VUE = \"**/*.vue\";\n\n/**\n * YAML\n */\nexport const CONST_YAML = \"**/*.y?(a)ml\";\n\n/**\n * node_modules\n */\nexport const CONST_NODE_MODULES = \"**/node_modules\";\n\n/**\n * 打包目录 dist\n */\nexport const CONST_DIST = \"**/dist\";\n\n/**\n * 包管理 lock 文件\n */\nexport const CONST_LOCKFILE = [\n \"**/package-lock.json\",\n \"**/yarn.lock\",\n \"**/pnpm-lock.yaml\",\n \"**/bun.lockb\",\n];\n\n/**\n * public\n */\nexport const CONST_PUBLIC = \"**/public\";\n\n/**\n * TS 配置文件\n */\nexport const CONST_TSCONFIG = [\"**/tsconfig.json\", \"**/tsconfig.*.json\"];\n","// @ts-nocheck\nimport tseslint from \"typescript-eslint\";\nimport eslintPluginImport from \"eslint-plugin-import\";\nimport { CONST_JS, CONST_JSX, CONST_TS, CONST_TSX } from \"../constants\";\nimport { Linter } from \"eslint\";\n\n/**\n * 导入使用 lodash-unified 模块规则\n */\nexport const importUseLodashUnifiedRules: Linter.RulesRecord = {\n\t// 限制某些模块导入\n\t\"no-restricted-imports\": [\n\t\t\"error\",\n\t\t{\n\t\t\tpaths: [\n\t\t\t\t{ name: \"lodash\", message: \"Use lodash-unified instead.\" },\n\t\t\t\t{ name: \"lodash-es\", message: \"Use lodash-unified instead.\" },\n\t\t\t],\n\t\t\tpatterns: [\n\t\t\t\t{\n\t\t\t\t\tgroup: [\"lodash/*\", \"lodash-es/*\"],\n\t\t\t\t\tmessage: \"Use lodash-unified instead.\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n\n/**\n * 导入使用 lodash 模块规则\n */\nexport const importUseLodashRules: Linter.RulesRecord = {\n\t// 限制某些模块导入\n\t\"no-restricted-imports\": [\n\t\t\"error\",\n\t\t{\n\t\t\tpaths: [\n\t\t\t\t{ name: \"lodash-es\", message: \"Use lodash instead.\" },\n\t\t\t\t{ name: \"lodash-unified\", message: \"Use lodash instead.\" },\n\t\t\t],\n\t\t\tpatterns: [\n\t\t\t\t{\n\t\t\t\t\tgroup: [\"lodash-es/*\", \"lodash-unified/*\"],\n\t\t\t\t\tmessage: \"Use lodash instead.\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n};\n\n/**\n * import配置\n */\nexport const importConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/import\",\n\t\t// 继承某些已有的规则\n\t\textends: [eslintPluginImport.flatConfigs.recommended],\n\t\tsettings: {\n\t\t\t// 确保 ESLint 和 eslint-plugin-import 能够正确解析项目中的所有相关文件类型\n\t\t\t\"import/resolver\": {\n\t\t\t\tnode: {\n\t\t\t\t\textensions: [CONST_JS, CONST_JSX, CONST_TS, CONST_TSX, \".d.ts\"],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t// 确保所有的 import 语句位于文件的顶部,紧接在文件的开头部分,且在任何其他代码之前\n\t\t\t\"import/first\": \"error\",\n\t\t\t// 禁止在同一文件中出现重复的 import 语句\n\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t// 导入模块排序风格\n\t\t\t\"import/order\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\t// 导入模块分组\n\t\t\t\t\tgroups: [\n\t\t\t\t\t\t// Node.js 内置模块\n\t\t\t\t\t\t\"builtin\",\n\t\t\t\t\t\t// 第三方模块\n\t\t\t\t\t\t\"external\",\n\t\t\t\t\t\t// 项目内部模块\n\t\t\t\t\t\t\"internal\",\n\t\t\t\t\t\t// 父级目录中的模块\n\t\t\t\t\t\t\"parent\",\n\t\t\t\t\t\t// 具有相同父级的模块\n\t\t\t\t\t\t\"sibling\",\n\t\t\t\t\t\t// 当前目录的 index.js 或 index.ts 文件\n\t\t\t\t\t\t\"index\",\n\t\t\t\t\t\t\"object\",\n\t\t\t\t\t\t\"type\",\n\t\t\t\t\t\t\"unknown\",\n\t\t\t\t\t],\n\t\t\t\t\tpathGroups: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"vue\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@vue/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"element-plus\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@element-plus/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"fast-element-plus\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@fast-element-plus/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: \"@fast-china/**\",\n\t\t\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\t\t\tposition: \"before\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tpathGroupsExcludedImportTypes: [\"type\"],\n\t\t\t\t\t// 禁止不同组之间进行换行\n\t\t\t\t\t\"newlines-between\": \"never\",\n\t\t\t\t\t//根据字母顺序对每个组内的顺序进行排序\n\t\t\t\t\talphabetize: {\n\t\t\t\t\t\torder: \"asc\",\n\t\t\t\t\t\tcaseInsensitive: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t// 关闭 - 禁用对无法解析的模块导入的检查\n\t\t\t\"import/no-unresolved\": \"off\",\n\t\t\t// 关闭 - 禁用对命名空间导入(例如,import * as)的检查\n\t\t\t\"import/namespace\": \"off\",\n\t\t\t// 关闭 - 禁用对默认导入的检查\n\t\t\t\"import/default\": \"off\",\n\t\t\t// 关闭 - 禁用对以默认导出方式作为命名导入的检查\n\t\t\t\"import/no-named-as-default\": \"off\",\n\t\t\t// 关闭 - 禁用对将默认导出成员当作命名导入的检查\n\t\t\t\"import/no-named-as-default-member\": \"off\",\n\t\t\t// 关闭 - 禁用对命名导入(即从模块中导入特定命名的内容)的检查\n\t\t\t\"import/named\": \"off\",\n\n\t\t\t...importUseLodashUnifiedRules,\n\t\t},\n\t},\n]);\n","import tseslint from \"typescript-eslint\";\nimport globals from \"globals\";\nimport eslint from \"@eslint/js\";\nimport { CONST_JSX } from \"../constants\";\n\n/**\n * JavaScript配置\n */\nexport const javascriptConfigs = tseslint.config([\n {\n name: \"@fast-china/javascript\",\n // 继承某些已有的规则\n extends: [eslint.configs.recommended],\n languageOptions: {\n // 允许使用最新的 ECMAScript 语法特性\n ecmaVersion: \"latest\",\n globals: {\n ...globals.browser,\n ...globals.es2022,\n ...globals.node,\n },\n parserOptions: {\n // 允许使用 JSX 语法,适用于 Vue 组件中的 JSX 代码。\n ecmaFeatures: {\n jsx: true,\n },\n sourceType: \"module\",\n },\n },\n rules: {\n // JS/TS (http://eslint.cn/docs/rules)\n\n // 强制使用 camelCase 命名风格\n camelcase: [\n \"error\",\n {\n // 允许对象属性使用非 camelCase 风格\n properties: \"never\",\n },\n ],\n // 禁止使用控制台\n \"no-console\": [\n \"warn\",\n {\n // 允许除 warn/error 之外的其他 console.xx 方法\n allow: [\"warn\", \"error\"],\n },\n ],\n // 禁止使用 debugger\n \"no-debugger\": \"warn\",\n // 禁止在条件语句中使用常量条件\n \"no-constant-condition\": [\n \"error\",\n {\n // 允许在循环语句中使用常量条件\n checkLoops: false,\n },\n ],\n // 禁止使用某些特定的语法\n \"no-restricted-syntax\": [\n \"error\",\n // 禁止使用标记语句(labeled statements)\n \"LabeledStatement\",\n // 禁止使用 with 语句\n \"WithStatement\",\n ],\n // 禁止在 return 语句中使用 await\n \"no-return-await\": \"error\",\n // 禁止使用 var 关键字,强制使用 let 或 const\n \"no-var\": \"error\",\n // 禁止使用空的块语句\n \"no-empty\": [\n \"error\",\n {\n // 允许空的 catch 块\n allowEmptyCatch: true,\n },\n ],\n // 该规则禁止使用不规则或不标准的空白字符\n \"no-irregular-whitespace\": \"error\",\n // 禁止在函数或变量定义之前使用它们\n \"no-use-before-define\": \"warn\",\n // 强制使用 const 声明不被修改的变量\n \"prefer-const\": [\n \"warn\",\n {\n // 在解构赋值时也推荐使用 const\n destructuring: \"all\",\n // 允许在变量首次赋值前读取变量的值\n ignoreReadBeforeAssign: true,\n },\n ],\n // 强制使用箭头函数而非普通函数\n \"prefer-arrow-callback\": [\n \"error\",\n {\n // 不允许使用命名函数作为回调函数\n allowNamedFunctions: false,\n // 允许在箭头函数中使用 this 绑定的上下文\n allowUnboundThis: true,\n },\n ],\n // 强制使用对象字面量的方法和属性简写语法\n \"object-shorthand\": [\n \"error\",\n \"always\",\n {\n // 不忽略构造函数中的属性简写\n ignoreConstructors: false,\n // 强制避免在属性名中使用引号\n avoidQuotes: true,\n },\n ],\n // 强制使用 rest 参数代替 arguments 对象\n \"prefer-rest-params\": \"error\",\n // 强制使用展开运算符(...)代替 Function.prototype.apply\n \"prefer-spread\": \"error\",\n // 强制使用模板字面量代替字符串连接\n \"prefer-template\": \"error\",\n // 禁止在同一作用域中重新声明变量\n \"no-redeclare\": \"error\",\n },\n },\n {\n name: \"@fast-china/javascript/jsx\",\n files: [CONST_JSX],\n rules: {\n // 关闭 - 禁止使用未声明的变量,除非/*global *\\/注释中提到\n \"no-undef\": \"off\",\n },\n },\n {\n name: \"@fast-china/javascript/md/js\",\n files: [\"**/*.md/*.js\"],\n rules: {\n // 使用使用控制台\n \"no-console\": \"off\",\n // 关闭 - 禁用对无法解析的模块导入的检查\n \"import/no-unresolved\": \"off\",\n },\n },\n {\n name: \"@fast-china/javascript/script\",\n files: [\"**/scripts/*\", \"**/cli.*\"],\n rules: {\n // 使用使用控制台\n \"no-console\": \"off\",\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginJsonc from \"eslint-plugin-jsonc\";\nimport {\n CONST_JSON,\n CONST_JSON5,\n CONST_JSON6,\n CONST_JSONC,\n} from \"../constants\";\nimport jsoncEslintParser from \"jsonc-eslint-parser\";\n\n/**\n * Json配置\n */\nexport const jsonConfigs = tseslint.config([\n {\n name: \"@fast-china/json\",\n files: [CONST_JSON, CONST_JSONC, CONST_JSON5, CONST_JSON6],\n // 继承某些已有的规则\n extends: [...eslintPluginJsonc.configs[\"flat/recommended-with-jsonc\"]],\n languageOptions: {\n parser: jsoncEslintParser,\n },\n plugins: {\n jsonc: eslintPluginJsonc,\n },\n rules: {},\n },\n]);\n","// @ts-nocheck\nimport tseslint from \"typescript-eslint\";\nimport eslintPluginMarkdown from \"eslint-plugin-markdown\";\nimport { CONST_MD } from \"../constants\";\n\n/**\n * markdown配置\n */\nexport const markdownConfigs = tseslint.config([\n\t{\n\t\tname: \"@fast-china/markdown\",\n\t\tfiles: [CONST_MD],\n\t\trules: {},\n\t},\n\t...eslintPluginMarkdown.configs.recommended.map((config) => ({\n\t\t...config,\n\t\tname: `@fast-china/${config.name || \"markdown/anonymous\"}`,\n\t})),\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintConfigPrettier from \"eslint-config-prettier\";\nimport eslintPluginPrettierRecommended from \"eslint-plugin-prettier/recommended\";\n\n/**\n * prettier配置\n */\nexport const prettierConfigs = tseslint.config([\n {\n name: \"@fast-china/prettier\",\n // 继承某些已有的规则\n extends: [eslintPluginPrettierRecommended],\n plugins: {\n prettier: eslintConfigPrettier as any,\n },\n rules: {\n // 确保 Prettier 错误被 ESLint 捕获\n \"prettier/prettier\": \"error\",\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginRegexp from \"eslint-plugin-regexp\";\n\n/**\n * regexp配置\n */\nexport const regexpConfigs = tseslint.config([\n {\n name: \"@fast-china/regexp\",\n ...eslintPluginRegexp.configs[\"flat/recommended\"],\n },\n]);\n","import tseslint from \"typescript-eslint\";\n\n/**\n * package.json 属性排序\n */\nexport const packageJsonSortConfigs = tseslint.config([\n {\n name: \"@fast-china/sort/package\",\n files: [\"**/package.json\"],\n rules: {\n \"jsonc/sort-array-values\": [\n \"error\",\n {\n order: { type: \"asc\" },\n pathPattern: \"^files$\",\n },\n ],\n \"jsonc/sort-keys\": [\n \"error\",\n {\n order: [\n \"name\",\n \"version\",\n \"private\",\n \"packageManager\",\n \"description\",\n \"type\",\n \"keywords\",\n \"license\",\n \"homepage\",\n \"bugs\",\n \"repository\",\n \"author\",\n \"contributors\",\n \"funding\",\n \"files\",\n \"main\",\n \"module\",\n \"types\",\n \"exports\",\n \"typesVersions\",\n \"sideEffects\",\n \"unpkg\",\n \"jsdelivr\",\n \"browser\",\n \"bin\",\n \"man\",\n \"directories\",\n \"publishConfig\",\n \"scripts\",\n \"peerDependencies\",\n \"peerDependenciesMeta\",\n \"optionalDependencies\",\n \"dependencies\",\n \"devDependencies\",\n \"engines\",\n \"config\",\n \"overrides\",\n \"pnpm\",\n \"husky\",\n \"lint-staged\",\n \"eslintConfig\",\n \"prettier\",\n ],\n pathPattern: \"^$\",\n },\n {\n order: { type: \"asc\" },\n pathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n },\n {\n order: [\"types\", \"require\", \"import\", \"default\"],\n pathPattern: \"^exports.*$\",\n },\n {\n order: { type: \"asc\" },\n pathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n },\n ],\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport { CONST_TSCONFIG } from \"../constants\";\n\n/**\n * tsconfig.json 属性排序\n */\nexport const tsconfigJsonSortConfigs = tseslint.config([\n {\n name: \"@fast-china/sort/tsconfig\",\n files: [CONST_TSCONFIG],\n rules: {\n \"jsonc/sort-keys\": [\n \"error\",\n {\n order: [\n \"extends\",\n \"compilerOptions\",\n \"references\",\n \"files\",\n \"include\",\n \"exclude\",\n ],\n pathPattern: \"^$\",\n },\n {\n order: [\n /* Projects */\n \"incremental\",\n \"composite\",\n \"tsBuildInfoFile\",\n \"disableSourceOfProjectReferenceRedirect\",\n \"disableSolutionSearching\",\n \"disableReferencedProjectLoad\",\n /* Language and Environment */\n \"target\",\n \"jsx\",\n \"jsxFactory\",\n \"jsxFragmentFactory\",\n \"jsxImportSource\",\n \"lib\",\n \"moduleDetection\",\n \"noLib\",\n \"reactNamespace\",\n \"useDefineForClassFields\",\n \"emitDecoratorMetadata\",\n \"experimentalDecorators\",\n /* Modules */\n \"baseUrl\",\n \"rootDir\",\n \"rootDirs\",\n \"customConditions\",\n \"module\",\n \"moduleResolution\",\n \"moduleSuffixes\",\n \"noResolve\",\n \"paths\",\n \"resolveJsonModule\",\n \"resolvePackageJsonExports\",\n \"resolvePackageJsonImports\",\n \"typeRoots\",\n \"types\",\n \"allowArbitraryExtensions\",\n \"allowImportingTsExtensions\",\n \"allowUmdGlobalAccess\",\n /* JavaScript Support */\n \"allowJs\",\n \"checkJs\",\n \"maxNodeModuleJsDepth\",\n /* Type Checking */\n \"strict\",\n \"strictBindCallApply\",\n \"strictFunctionTypes\",\n \"strictNullChecks\",\n \"strictPropertyInitialization\",\n \"allowUnreachableCode\",\n \"allowUnusedLabels\",\n \"alwaysStrict\",\n \"exactOptionalPropertyTypes\",\n \"noFallthroughCasesInSwitch\",\n \"noImplicitAny\",\n \"noImplicitOverride\",\n \"noImplicitReturns\",\n \"noImplicitThis\",\n \"noPropertyAccessFromIndexSignature\",\n \"noUncheckedIndexedAccess\",\n \"noUnusedLocals\",\n \"noUnusedParameters\",\n \"useUnknownInCatchVariables\",\n /* Emit */\n \"declaration\",\n \"declarationDir\",\n \"declarationMap\",\n \"downlevelIteration\",\n \"emitBOM\",\n \"emitDeclarationOnly\",\n \"importHelpers\",\n \"importsNotUsedAsValues\",\n \"inlineSourceMap\",\n \"inlineSources\",\n \"isolatedDeclarations\",\n \"mapRoot\",\n \"newLine\",\n \"noEmit\",\n \"noEmitHelpers\",\n \"noEmitOnError\",\n \"outDir\",\n \"outFile\",\n \"preserveConstEnums\",\n \"preserveValueImports\",\n \"removeComments\",\n \"sourceMap\",\n \"sourceRoot\",\n \"stripInternal\",\n /* Interop Constraints */\n \"allowSyntheticDefaultImports\",\n \"esModuleInterop\",\n \"forceConsistentCasingInFileNames\",\n \"isolatedModules\",\n \"preserveSymlinks\",\n \"verbatimModuleSyntax\",\n /* Completeness */\n \"skipDefaultLibCheck\",\n \"skipLibCheck\",\n ],\n pathPattern: \"^compilerOptions$\",\n },\n ],\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport { CONST_JS, CONST_TS, CONST_TSX } from \"../constants\";\n\n/**\n * TypeScript 核心配置\n */\nexport const typescriptCoreConfigs = tseslint.config([\n {\n name: \"@fast-china/typescript\",\n files: [CONST_TS, CONST_TSX],\n // 继承某些已有的规则\n extends: [tseslint.configs.recommended],\n languageOptions: {\n // 允许使用最新的 ECMAScript 语法特性\n ecmaVersion: \"latest\",\n parser: tseslint.parser,\n parserOptions: {\n // 允许使用 TSX 语法,适用于 Vue 组件中的 TSX 代码。\n ecmaFeatures: {\n tsx: true,\n },\n sourceType: \"module\",\n },\n },\n rules: {\n // TS (https://typescript-eslint.io/rules)\n\n // 要求在导出函数和类的公共方法上显式声明返回类型\n \"@typescript-eslint/explicit-module-boundary-types\": \"off\",\n // 要求在 TypeScript 函数和方法中显式地指定返回类型\n \"@typescript-eslint/explicit-function-return-type\": \"error\",\n // 禁止在同一作用域中重新声明 TypeScript 变量\n \"@typescript-eslint/no-redeclare\": \"error\",\n // 允许定义未使用的变量\n \"@typescript-eslint/no-unused-vars\": \"off\",\n // 允许使用自定义TypeScript模块和命名空间\n \"@typescript-eslint/no-namespace\": \"off\",\n // 允许使用 any 类型\n \"@typescript-eslint/no-explicit-any\": \"off\",\n // 禁止在 TypeScript 文件中使用 require 函数进行模块导入\n \"@typescript-eslint/no-var-requires\": \"error\",\n // 禁止定义空函数\n \"@typescript-eslint/no-empty-function\": \"error\",\n // 禁止无用的表达式\n \"@typescript-eslint/no-unused-expressions\": [\n \"error\",\n {\n // 允许短路操作符(&& 和 ||)中的无副作用表达式\n allowShortCircuit: true,\n // 允许三元操作符中的无副作用表达式\n allowTernary: true,\n },\n ],\n // 禁止在 TypeScript 代码中对类型已经可以被推断的变量或参数进行显式的类型注解\n \"@typescript-eslint/no-inferrable-types\": \"error\",\n // 禁止使用后缀运算符的非空断言(!)\n \"@typescript-eslint/no-non-null-assertion\": \"error\",\n // 禁止在可选链(?)后使用非空断言(!)\n \"@typescript-eslint/no-non-null-asserted-optional-chain\": \"error\",\n // 禁止在代码中使用 @ts-ignore 注释\n \"@typescript-eslint/ban-ts-comment\": [\"error\", { \"ts-ignore\": false }],\n // 一致地使用 TypeScript 类型导入\n \"@typescript-eslint/consistent-type-imports\": [\n \"error\",\n {\n // 允许使用类型注解\n disallowTypeAnnotations: false,\n },\n ],\n },\n },\n]);\n\n/**\n * TypeScript配置\n */\nexport const typescriptConfigs = tseslint.config([\n ...typescriptCoreConfigs,\n {\n name: \"@fast-china/typescript/dts\",\n files: [\"**/*.d.ts\"],\n rules: {\n // 关闭 - 禁止在文件中重复导入相同的模块\n \"import/no-duplicates\": \"off\",\n // 关闭 - 一致地使用 TypeScript 类型导入\n \"@typescript-eslint/consistent-type-imports\": \"off\",\n },\n },\n {\n name: \"@fast-china/typescript/tsx\",\n files: [CONST_TSX],\n rules: {\n // 关闭 - 要求在 TypeScript 函数和方法中显式地指定返回类型\n // \"@typescript-eslint/explicit-function-return-type\": \"off\",\n },\n },\n {\n name: \"@fast-china/typescript/cjs\",\n files: [CONST_JS],\n rules: {\n // 关闭 - 不允许使用 require 语句\n \"@typescript-eslint/no-var-requires\": \"off\",\n \"@typescript-eslint/no-require-imports\": \"off\",\n },\n },\n {\n name: \"@fast-china/typescript/md/js\",\n files: [\"**/*.md/*.ts\"],\n rules: {\n // 允许定义未使用的变量\n \"@typescript-eslint/no-unused-vars\": \"off\",\n },\n },\n]);\n","import tseslint from \"typescript-eslint\";\nimport eslintPluginVue from \"eslint-plugin-vue\";\nimport vueEslintParser from \"vue-eslint-parser\";\nimport { CONST_VUE } from \"../constants\";\nimport { typescriptCoreConfigs } from \"./typescript\";\nimport { isVue3 } from \"../env\";\n\n/**\n * vue配置\n */\nexport const vueConfigs = tseslint.config([\n {\n name: \"@fast-china/vue\",\n files: [CONST_VUE],\n // 继承某些已有的规则\n extends: [\n ...(isVue3\n ? eslintPluginVue.configs[\"flat/recommended\"]\n : eslintPluginVue.configs[\"flat/vue2-recommended\"]),\n ],\n languageOptions: {\n parser: vueEslintParser,\n parserOptions: {\n // 允许在 Vue 文件中的脚本部分使用 TypeScript 语法\n parser: \"@typescript-eslint/parser\",\n // 指定额外的文件扩展名,告诉解析器 .vue 文件也需要处理\n extraFileExtensions: [\".vue\"],\n // 允许使用最新的 ECMAScript 语法特性\n ecmaVersion: \"latest\",\n // 允许使用 JSX/TSX 语法,适用于 Vue 组件中的 JSX/TSX 代码。\n ecmaFeatures: {\n jsx: true,\n tsx: true,\n },\n sourceType: \"module\",\n },\n },\n plugins: {\n \"@typescript-eslint\": tseslint.plugin,\n vue: vueEslintParser,\n },\n processor: eslintPluginVue.processors[\".vue\"],\n rules: {\n // vue (https://eslint.vuejs.org/rules)\n\n // 关闭 - 禁止使用未声明的变量,以避免在 .vue 文件中出现关于未定义变量的警告,这在 Vue 单文件组件中可能不适用或会导致不必要的警告\n \"no-undef\": \"off\",\n\n // 允许使用 v-html\n \"vue/no-v-html\": \"off\",\n // 禁用所有 props 必填时,必须提供默认值\n \"vue/require-default-prop\": \"off\",\n // 强制组件中必须使用 emits 选项声明事件\n \"vue/require-explicit-emits\": \"error\",\n // 禁用组件名称必须是多单词\n \"vue/multi-word-component-names\": \"off\",\n // 关闭 - 强制从 vue 中导入 Vue相关 API\n \"vue/prefer-import-from-vue\": \"off\",\n // 强制 HTML 属性使用 camelCase 风格\n \"vue/attribute-hyphenation\": [\n \"error\",\n \"always\",\n {\n ignore: [\n // 忽略 Element-Plus 加载文案\"element-loading-text\"\n ],\n },\n ],\n\n // 禁止重复的字段名\n \"vue/no-dupe-keys\": \"error\",\n // 禁止直接修改 props 的值\n \"vue/no-mutating-props\": \"error\",\n // 禁止使用 Vue.js 内置的保留组件名称(如 transition、keep-alive 等)作为自定义组件名称\n \"vue/no-reserved-component-names\": \"error\",\n // 禁止在自定义组件上使用 v-text 或 v-html 指令\n \"vue/no-v-text-v-html-on-component\": \"off\",\n // 防止<script setup>使用的变量<template>被标记为未使用,此规则仅在启用该no-unused-vars规则时有效。\n // \"vue/script-setup-uses-vars\": \"error\",\n // 强制自定义事件名称使用 camelCase 风格命名\n \"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n // 强制每个 Vue 文件中只包含一个 Vue 组件\n \"vue/one-component-per-file\": \"off\",\n // 闭合标签换行风格\n \"vue/html-closing-bracket-newline\": [\n \"error\",\n {\n // 强制要求当 HTML 元素跨多行时,闭合标签必须出现在新的一行上\n multiline: \"always\",\n // 强制要求当 HTML 元素只有一行时,闭合标签应与开始标签在同一行上\n singleline: \"never\",\n },\n ],\n // 强制 Vue 模板中 HTML 元素的属性按照指定的顺序排列\n \"vue/attributes-order\": [\n \"error\",\n {\n order: [\n \"DEFINITION\",\n \"LIST_RENDERING\",\n \"CONDITIONALS\",\n \"RENDER_MODIFIERS\",\n \"GLOBAL\",\n \"UNIQUE\",\n \"OTHER_ATTR\",\n \"EVENTS\",\n \"CONTENT\",\n ],\n },\n ],\n },\n },\n {\n name: \"@fast-china/vue/ts\",\n files: [CONST_VUE],\n // 继承某些已有的规则\n extends: [...typescriptCoreConfigs],\n },\n {\n name: \"@fast-china/reactivity\",\n languageOptions: {\n globals: {\n $: \"readonly\",\n $$: \"readonly\",\n $computed: \"readonly\",\n $customRef: \"readonly\",\n $ref: \"readonly\",\n $shallowRef: \"readonly\",\n $toRef: \"readonly\",\n },\n },\n plugins: {\n vue: eslintPluginVue,\n },\n },\n]);\n","import process from \"node:process\";\nimport { getPackageInfoSync } from \"local-pkg\";\nimport { isPackageExists } from \"local-pkg\";\n\nconst getVueVersion = () => {\n\tconst pkg = getPackageInfoSync(\"vue\", { paths: [process.cwd()] });\n\tif (pkg && typeof pkg.version === \"string\" && !Number.isNaN(+pkg.version[0])) {\n\t\treturn +pkg.version[0];\n\t}\n\treturn 3;\n};\n\n/**\n * 是否包含 vue\n */\nexport const hasVue = isPackageExists(\"vue\") || isPackageExists(\"nuxt\");\n\n/**\n * 是否为 vue3 版本\n */\nexport const isVue3 = getVueVersion() === 3;\n","import { commonConfigs } from \"../configs/common\";\nimport { ignoresConfigs } from \"../configs/ignores\";\nimport { importConfigs } from \"../configs/import\";\nimport { javascriptConfigs } from \"../configs/javascript\";\nimport { jsonConfigs } from \"../configs/json\";\nimport { markdownConfigs } from \"../configs/markdown\";\nimport { prettierConfigs } from \"../configs/prettier\";\nimport { regexpConfigs } from \"../configs/regexp\";\nimport { packageJsonSortConfigs } from \"../configs/sort-package\";\nimport { tsconfigJsonSortConfigs } from \"../configs/sort-tsconfig\";\nimport { typescriptConfigs } from \"../configs/typescript\";\nimport { vueConfigs } from \"../configs/vue\";\n\nexport * from \"../configs/common\";\nexport * from \"../configs/ignores\";\nexport * from \"../configs/import\";\nexport * from \"../configs/javascript\";\nexport * from \"../configs/json\";\nexport * from \"../configs/markdown\";\nexport * from \"../configs/prettier\";\nexport * from \"../configs/regexp\";\nexport * from \"../configs/sort-package\";\nexport * from \"../configs/sort-tsconfig\";\nexport * from \"../configs/typescript\";\nexport * from \"../configs/vue\";\n\nexport * from \"../constants\";\nexport * from \"../env\";\n\nexport default [\n\t...ignoresConfigs,\n\t...commonConfigs,\n\t...regexpConfigs,\n\t...javascriptConfigs,\n\t...typescriptConfigs,\n\t...importConfigs,\n\t...prettierConfigs,\n\t...packageJsonSortConfigs,\n\t...tsconfigJsonSortConfigs,\n\t...vueConfigs,\n\t...jsonConfigs,\n\t...markdownConfigs,\n];\n"],"mappings":"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","names":["tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint","tseslint"]}