@fast-china/eslint-config 1.0.32 → 1.0.33

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
@@ -34,45 +34,27 @@ pnpm install @fast-china/eslint-config --save-dev
34
34
 
35
35
  ## Use
36
36
 
37
- #### .eslintrc.cjs Example
38
-
39
- ```javascript
40
- module.exports = {
41
- root: true,
42
- extends: ["@fast-china"],
43
- };
44
- ```
45
-
46
- ```javascript
47
- const { defineConfig } = require("eslint-define-config");
48
-
49
- module.exports = defineConfig({
50
- root: true,
51
- extends: ["@fast-china/eslint-config"],
52
- });
53
- ```
54
-
55
37
  #### eslint.config.mjs Example
56
38
 
57
39
  ```typescript
58
- import fastChinaFlat from "@fast-china/eslint-config/flat";
40
+ import fastChina from "@fast-china/eslint-config";
59
41
 
60
- export default [...fastChinaFlat];
42
+ export default [...fastChina];
61
43
  ```
62
44
 
63
45
  ```typescript
64
- import fastChinaFlat from "@fast-china/eslint-config/flat";
46
+ import fastChina from "@fast-china/eslint-config";
65
47
  import { defineConfig } from "eslint/config";
66
48
 
67
- export default defineConfig(...fastChinaFlat);
49
+ export default defineConfig(...fastChina);
68
50
  ```
69
51
 
70
52
  ```typescript
71
- import fastChinaFlat from "@fast-china/eslint-config/flat";
53
+ import fastChina from "@fast-china/eslint-config";
72
54
  import tseslint from "typescript-eslint";
73
55
 
74
56
  export default tseslint.config({
75
- extends: [...fastChinaFlat],
57
+ extends: [...fastChina],
76
58
  });
77
59
  ```
78
60
 
package/README.zh.md CHANGED
@@ -34,45 +34,27 @@ pnpm install @fast-china/eslint-config --save-dev
34
34
 
35
35
  ## 使用
36
36
 
37
- #### .eslintrc.cjs 示例
38
-
39
- ```javascript
40
- module.exports = {
41
- root: true,
42
- extends: ["@fast-china"],
43
- };
44
- ```
45
-
46
- ```javascript
47
- const { defineConfig } = require("eslint-define-config");
48
-
49
- module.exports = defineConfig({
50
- root: true,
51
- extends: ["@fast-china/eslint-config"],
52
- });
53
- ```
54
-
55
37
  #### eslint.config.mjs 示例
56
38
 
57
39
  ```typescript
58
- import fastChinaFlat from "@fast-china/eslint-config/flat";
40
+ import fastChina from "@fast-china/eslint-config";
59
41
 
60
- export default [...fastChinaFlat];
42
+ export default [...fastChina];
61
43
  ```
62
44
 
63
45
  ```typescript
64
- import fastChinaFlat from "@fast-china/eslint-config/flat";
46
+ import fastChina from "@fast-china/eslint-config";
65
47
  import { defineConfig } from "eslint/config";
66
48
 
67
- export default defineConfig(...fastChinaFlat);
49
+ export default defineConfig(...fastChina);
68
50
  ```
69
51
 
70
52
  ```typescript
71
- import fastChinaFlat from "@fast-china/eslint-config/flat";
53
+ import fastChina from "@fast-china/eslint-config";
72
54
  import tseslint from "typescript-eslint";
73
55
 
74
56
  export default tseslint.config({
75
- extends: [...fastChinaFlat],
57
+ extends: [...fastChina],
76
58
  });
77
59
  ```
78
60
 
@@ -1,69 +1,69 @@
1
- import * as _typescript_eslint_utils_dist_ts_eslint from '@typescript-eslint/utils/dist/ts-eslint';
1
+ import * as eslint_config from 'eslint/config';
2
2
 
3
3
  /**
4
4
  * 公共配置
5
5
  * @description 最佳实践
6
6
  */
7
- declare const commonConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
7
+ declare const commonConfigs: eslint_config.Config[];
8
8
 
9
9
  /**
10
10
  * 忽略配置
11
11
  */
12
- declare const ignoresConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
12
+ declare const ignoresConfigs: eslint_config.Config[];
13
13
 
14
14
  /**
15
15
  * import配置
16
16
  */
17
- declare const importConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
17
+ declare const importConfigs: eslint_config.Config[];
18
18
 
19
19
  /**
20
20
  * JavaScript配置
21
21
  */
22
- declare const javascriptConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
22
+ declare const javascriptConfigs: eslint_config.Config[];
23
23
 
24
24
  /**
25
25
  * Json配置
26
26
  */
27
- declare const jsonConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
27
+ declare const jsonConfigs: eslint_config.Config[];
28
28
 
29
29
  /**
30
30
  * markdown配置
31
31
  */
32
- declare const markdownConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
32
+ declare const markdownConfigs: eslint_config.Config[];
33
33
 
34
34
  /**
35
35
  * prettier配置
36
36
  */
37
- declare const prettierConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
37
+ declare const prettierConfigs: eslint_config.Config[];
38
38
 
39
39
  /**
40
40
  * regexp配置
41
41
  */
42
- declare const regexpConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
42
+ declare const regexpConfigs: eslint_config.Config[];
43
43
 
44
44
  /**
45
45
  * package.json 属性排序
46
46
  */
47
- declare const packageJsonSortConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
47
+ declare const packageJsonSortConfigs: eslint_config.Config[];
48
48
 
49
49
  /**
50
50
  * tsconfig.json 属性排序
51
51
  */
52
- declare const tsconfigJsonSortConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
52
+ declare const tsconfigJsonSortConfigs: eslint_config.Config[];
53
53
 
54
54
  /**
55
55
  * TypeScript 核心配置
56
56
  */
57
- declare const typescriptCoreConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
57
+ declare const typescriptCoreConfigs: eslint_config.Config[];
58
58
  /**
59
59
  * TypeScript配置
60
60
  */
61
- declare const typescriptConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
61
+ declare const typescriptConfigs: eslint_config.Config[];
62
62
 
63
63
  /**
64
64
  * vue配置
65
65
  */
66
- declare const vueConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.ConfigArray;
66
+ declare const vueConfigs: eslint_config.Config[];
67
67
 
68
68
  /**
69
69
  * JS
@@ -139,20 +139,20 @@ declare const CONST_TSCONFIG: string[];
139
139
  *
140
140
  * @description ignores,common,javascript,import,regexp
141
141
  */
142
- declare const PresetJavascriptConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.Config[];
142
+ declare const PresetJavascriptConfigs: eslint_config.Config[];
143
143
  /**
144
144
  * JSON 预置配置
145
145
  */
146
- declare const PresetJsonConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.Config[];
146
+ declare const PresetJsonConfigs: eslint_config.Config[];
147
147
  /**
148
148
  * 基础预置配置
149
149
  *
150
150
  * @description javascript,typescript,json
151
151
  */
152
- declare const PresetBasicConfigs: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.Config[];
152
+ declare const PresetBasicConfigs: eslint_config.Config[];
153
153
  /**
154
154
  * 默认最全的配置
155
155
  */
156
- declare const _default: _typescript_eslint_utils_dist_ts_eslint.FlatConfig.Config[];
156
+ declare const _default: eslint_config.Config[];
157
157
 
158
158
  export { CONST_DIST, CONST_DTS, 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, PresetBasicConfigs, PresetJavascriptConfigs, PresetJsonConfigs, commonConfigs, _default as default, ignoresConfigs, importConfigs, javascriptConfigs, jsonConfigs, markdownConfigs, packageJsonSortConfigs, prettierConfigs, regexpConfigs, tsconfigJsonSortConfigs, typescriptConfigs, typescriptCoreConfigs, vueConfigs };
@@ -1,5 +1,5 @@
1
- // src/flat/configs/common.ts
2
- import tseslint from "typescript-eslint";
1
+ // src/configs/common.ts
2
+ import { defineConfig } from "eslint/config";
3
3
 
4
4
  // src/rules/common.ts
5
5
  var commonRules = {
@@ -551,17 +551,17 @@ var vueRules = {
551
551
  ]
552
552
  };
553
553
 
554
- // src/flat/configs/common.ts
555
- var commonConfigs = tseslint.config([
554
+ // src/configs/common.ts
555
+ var commonConfigs = defineConfig([
556
556
  {
557
557
  name: "@fast-china/common",
558
558
  rules: commonRules
559
559
  }
560
560
  ]);
561
561
 
562
- // src/flat/configs/ignores.ts
562
+ // src/configs/ignores.ts
563
+ import { defineConfig as defineConfig2 } from "eslint/config";
563
564
  import eslintConfigFlatGitignore from "eslint-config-flat-gitignore";
564
- import tseslint2 from "typescript-eslint";
565
565
 
566
566
  // src/constants/index.ts
567
567
  var CONST_JS = "**/*.?([cm])js";
@@ -582,8 +582,8 @@ var CONST_LOCKFILE = ["**/package-lock.json", "**/yarn.lock", "**/pnpm-lock.yaml
582
582
  var CONST_PUBLIC = "**/public";
583
583
  var CONST_TSCONFIG = ["**/tsconfig.json", "**/tsconfig.*.json"];
584
584
 
585
- // src/flat/configs/ignores.ts
586
- var ignoresConfigs = tseslint2.config([
585
+ // src/configs/ignores.ts
586
+ var ignoresConfigs = defineConfig2([
587
587
  {
588
588
  name: "@fast-china/ignores/global",
589
589
  ignores: [
@@ -617,10 +617,10 @@ var ignoresConfigs = tseslint2.config([
617
617
  }
618
618
  ]);
619
619
 
620
- // src/flat/configs/import.ts
620
+ // src/configs/import.ts
621
+ import { defineConfig as defineConfig3 } from "eslint/config";
621
622
  import eslintPluginImport from "eslint-plugin-import";
622
- import tseslint3 from "typescript-eslint";
623
- var importConfigs = tseslint3.config([
623
+ var importConfigs = defineConfig3([
624
624
  {
625
625
  name: "@fast-china/import",
626
626
  // 继承某些已有的规则
@@ -640,11 +640,11 @@ var importConfigs = tseslint3.config([
640
640
  }
641
641
  ]);
642
642
 
643
- // src/flat/configs/javascript.ts
643
+ // src/configs/javascript.ts
644
644
  import eslint from "@eslint/js";
645
+ import { defineConfig as defineConfig4 } from "eslint/config";
645
646
  import globals from "globals";
646
- import tseslint4 from "typescript-eslint";
647
- var javascriptConfigs = tseslint4.config([
647
+ var javascriptConfigs = defineConfig4([
648
648
  {
649
649
  name: "@fast-china/javascript",
650
650
  // 继承某些已有的规则
@@ -691,11 +691,11 @@ var javascriptConfigs = tseslint4.config([
691
691
  }
692
692
  ]);
693
693
 
694
- // src/flat/configs/json.ts
694
+ // src/configs/json.ts
695
+ import { defineConfig as defineConfig5 } from "eslint/config";
695
696
  import eslintPluginJsonc from "eslint-plugin-jsonc";
696
697
  import jsoncEslintParser from "jsonc-eslint-parser";
697
- import tseslint5 from "typescript-eslint";
698
- var jsonConfigs = tseslint5.config([
698
+ var jsonConfigs = defineConfig5([
699
699
  {
700
700
  name: "@fast-china/json",
701
701
  files: [CONST_JSON, CONST_JSONC, CONST_JSON5, CONST_JSON6],
@@ -705,31 +705,34 @@ var jsonConfigs = tseslint5.config([
705
705
  parser: jsoncEslintParser
706
706
  },
707
707
  plugins: {
708
- jsonc: eslintPluginJsonc
708
+ jsonc: {
709
+ rules: eslintPluginJsonc.rules
710
+ }
709
711
  }
710
712
  }
711
713
  ]);
712
714
 
713
- // src/flat/configs/markdown.ts
714
- import eslintPluginMarkdown from "eslint-plugin-markdown";
715
- import tseslint6 from "typescript-eslint";
716
- var markdownConfigs = tseslint6.config([
715
+ // src/configs/markdown.ts
716
+ import eslintMarkdown from "@eslint/markdown";
717
+ import { defineConfig as defineConfig6 } from "eslint/config";
718
+ var markdownConfigs = defineConfig6([
717
719
  {
718
720
  name: "@fast-china/markdown",
719
- files: [CONST_MD]
720
- },
721
- ...eslintPluginMarkdown.configs.recommended.map((config) => ({
722
- ...config,
723
- name: `@fast-china/${config.name || "markdown/anonymous"}`
724
- }))
721
+ files: [CONST_MD],
722
+ // 继承某些已有的规则
723
+ extends: [...eslintMarkdown.configs["recommended"]],
724
+ plugins: {
725
+ markdown: eslintMarkdown
726
+ }
727
+ }
725
728
  ]);
726
729
 
727
- // src/flat/configs/prettier.ts
730
+ // src/configs/prettier.ts
731
+ import { defineConfig as defineConfig7 } from "eslint/config";
728
732
  import eslintConfigPrettierFlat from "eslint-config-prettier/flat";
729
733
  import eslintPluginPrettier from "eslint-plugin-prettier";
730
734
  import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
731
- import tseslint7 from "typescript-eslint";
732
- var prettierConfigs = tseslint7.config([
735
+ var prettierConfigs = defineConfig7([
733
736
  {
734
737
  name: "@fast-china/prettier",
735
738
  // 继承某些已有的规则
@@ -744,19 +747,19 @@ var prettierConfigs = tseslint7.config([
744
747
  }
745
748
  ]);
746
749
 
747
- // src/flat/configs/regexp.ts
750
+ // src/configs/regexp.ts
751
+ import { defineConfig as defineConfig8 } from "eslint/config";
748
752
  import eslintPluginRegexp from "eslint-plugin-regexp";
749
- import tseslint8 from "typescript-eslint";
750
- var regexpConfigs = tseslint8.config([
753
+ var regexpConfigs = defineConfig8([
751
754
  {
752
755
  name: "@fast-china/regexp",
753
756
  ...eslintPluginRegexp.configs["flat/recommended"]
754
757
  }
755
758
  ]);
756
759
 
757
- // src/flat/configs/sort-package.ts
758
- import tseslint9 from "typescript-eslint";
759
- var packageJsonSortConfigs = tseslint9.config([
760
+ // src/configs/sort-package.ts
761
+ import { defineConfig as defineConfig9 } from "eslint/config";
762
+ var packageJsonSortConfigs = defineConfig9([
760
763
  {
761
764
  name: "@fast-china/sort/package",
762
765
  files: ["**/package.json"],
@@ -764,9 +767,9 @@ var packageJsonSortConfigs = tseslint9.config([
764
767
  }
765
768
  ]);
766
769
 
767
- // src/flat/configs/sort-tsconfig.ts
768
- import tseslint10 from "typescript-eslint";
769
- var tsconfigJsonSortConfigs = tseslint10.config([
770
+ // src/configs/sort-tsconfig.ts
771
+ import { defineConfig as defineConfig10 } from "eslint/config";
772
+ var tsconfigJsonSortConfigs = defineConfig10([
770
773
  {
771
774
  name: "@fast-china/sort/tsconfig",
772
775
  files: CONST_TSCONFIG,
@@ -774,18 +777,19 @@ var tsconfigJsonSortConfigs = tseslint10.config([
774
777
  }
775
778
  ]);
776
779
 
777
- // src/flat/configs/typescript.ts
778
- import tseslint11 from "typescript-eslint";
779
- var typescriptCoreConfigs = tseslint11.config([
780
+ // src/configs/typescript.ts
781
+ import { defineConfig as defineConfig11 } from "eslint/config";
782
+ import tseslint from "typescript-eslint";
783
+ var typescriptCoreConfigs = defineConfig11([
780
784
  {
781
785
  name: "@fast-china/typescript",
782
786
  files: [CONST_TS, CONST_TSX],
783
787
  // 继承某些已有的规则
784
- extends: [tseslint11.configs.recommended],
788
+ extends: [tseslint.configs.recommended],
785
789
  languageOptions: {
786
790
  // 允许使用最新的 ECMAScript 语法特性
787
791
  ecmaVersion: "latest",
788
- parser: tseslint11.parser,
792
+ parser: tseslint.parser,
789
793
  parserOptions: {
790
794
  ecmaFeatures: {
791
795
  // 允许使用 TSX 语法,适用于 Vue 组件中的 TSX 代码。
@@ -797,7 +801,7 @@ var typescriptCoreConfigs = tseslint11.config([
797
801
  rules: typescriptRules
798
802
  }
799
803
  ]);
800
- var typescriptConfigs = tseslint11.config([
804
+ var typescriptConfigs = defineConfig11([
801
805
  ...typescriptCoreConfigs,
802
806
  {
803
807
  name: "@fast-china/typescript/dts",
@@ -825,9 +829,10 @@ var typescriptConfigs = tseslint11.config([
825
829
  }
826
830
  ]);
827
831
 
828
- // src/flat/configs/vue.ts
832
+ // src/configs/vue.ts
833
+ import { defineConfig as defineConfig12 } from "eslint/config";
829
834
  import eslintPluginVue from "eslint-plugin-vue";
830
- import tseslint12 from "typescript-eslint";
835
+ import tseslint2 from "typescript-eslint";
831
836
  import vueEslintParser from "vue-eslint-parser";
832
837
 
833
838
  // src/env/index.ts
@@ -841,8 +846,8 @@ var getVueVersion = () => {
841
846
  };
842
847
  var isVue3 = getVueVersion() === 3;
843
848
 
844
- // src/flat/configs/vue.ts
845
- var vueConfigs = tseslint12.config([
849
+ // src/configs/vue.ts
850
+ var vueConfigs = defineConfig12([
846
851
  {
847
852
  name: "@fast-china/vue/ts",
848
853
  files: [CONST_VUE],
@@ -861,7 +866,8 @@ var vueConfigs = tseslint12.config([
861
866
  parser: vueEslintParser,
862
867
  parserOptions: {
863
868
  // 允许在 Vue 文件中的脚本部分使用 TypeScript 语法
864
- parser: "@typescript-eslint/parser",
869
+ parser: tseslint2.parser,
870
+ // parser: "@typescript-eslint/parser",
865
871
  // 指定额外的文件扩展名,告诉解析器 .vue 文件也需要处理
866
872
  extraFileExtensions: [".vue"],
867
873
  // 允许使用 JSX/TSX 语法,适用于 Vue 组件中的 JSX/TSX 代码。
@@ -873,7 +879,7 @@ var vueConfigs = tseslint12.config([
873
879
  }
874
880
  },
875
881
  plugins: {
876
- "@typescript-eslint": tseslint12.plugin,
882
+ "@typescript-eslint": tseslint2.plugin,
877
883
  vue: eslintPluginVue
878
884
  },
879
885
  rules: {
@@ -900,7 +906,7 @@ var vueConfigs = tseslint12.config([
900
906
  }
901
907
  ]);
902
908
 
903
- // src/flat/index.ts
909
+ // src/index.ts
904
910
  var PresetJavascriptConfigs = [...ignoresConfigs, ...commonConfigs, ...javascriptConfigs, ...importConfigs, ...regexpConfigs];
905
911
  var PresetJsonConfigs = [...jsonConfigs, ...packageJsonSortConfigs, ...tsconfigJsonSortConfigs];
906
912
  var PresetBasicConfigs = [...PresetJavascriptConfigs, ...typescriptConfigs, ...PresetJsonConfigs];
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/configs/common.ts","../src/rules/common.ts","../src/rules/import.ts","../src/rules/javascript.ts","../src/rules/sort-package.ts","../src/rules/sort-tsconfig.ts","../src/rules/typescript.ts","../src/rules/vue.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/index.ts"],"sourcesContent":["import { defineConfig } from \"eslint/config\";\nimport { commonRules } from \"../rules\";\n\n/**\n * 公共配置\n * @description 最佳实践\n */\nexport const commonConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/common\",\n\t\trules: commonRules,\n\t},\n]);\n","import type { Linter } from \"eslint\";\n\n/**\n * 公共规则\n * @description 最佳实践\n */\nexport const commonRules: Linter.RulesRecord = {\n\t// 确保数组的回调函数(如 Array.prototype.map、Array.prototype.filter、Array.prototype.reduce 等)总是有一个返回值\n\t\"array-callback-return\": \"error\",\n\t// 强制使用块级作用域变量(let 或 const),避免使用函数作用域变量(var)\n\t\"block-scoped-var\": \"error\",\n\t// 禁止使用 alert、confirm 和 prompt 等浏览器弹出对话框\n\t\"no-alert\": \"warn\",\n\t// 禁止在 switch 语句的 case 或 default 子句中声明变量\n\t\"no-case-declarations\": \"error\",\n\t// 禁止使用多行字符串,即不允许使用反斜杠 \\ 来连接多行字符串\n\t\"no-multi-str\": \"error\",\n\t// 禁止使用 with 语句\n\t\"no-with\": \"error\",\n\t// 禁止使用 void 操作符\n\t\"no-void\": \"error\",\n\t// 禁止多个空行\n\t\"no-multiple-empty-lines\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 最多允许1行\n\t\t\tmax: 1,\n\t\t},\n\t],\n\n\t// import 排序\n\t\"sort-imports\": [\n\t\t\"warn\",\n\t\t{\n\t\t\t// 不忽略导入语句中模块名的大小写\n\t\t\tignoreCase: false,\n\t\t\t// 忽略导入声明的排序\n\t\t\tignoreDeclarationSort: true,\n\t\t\t// 不忽略导入成员的排序\n\t\t\tignoreMemberSort: false,\n\t\t\t// 成员语法排序顺序\n\t\t\tmemberSyntaxSortOrder: [\"none\", \"all\", \"multiple\", \"single\"],\n\t\t\t// 不允许分组导入\n\t\t\tallowSeparatedGroups: false,\n\t\t},\n\t],\n\n\t// 强制在数学运算中使用 ** 运算符代替 Math.pow()\n\t\"prefer-exponentiation-operator\": \"error\",\n};\n","import type { 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 importRules: Linter.RulesRecord = {\n\t// 确保所有的 import 语句位于文件的顶部,紧接在文件的开头部分,且在任何其他代码之前\n\t\"import/first\": \"error\",\n\t// 禁止在同一文件中出现重复的 import 语句\n\t\"import/no-duplicates\": \"error\",\n\t// 导入模块排序风格\n\t\"import/order\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 导入模块分组\n\t\t\tgroups: [\n\t\t\t\t// Node.js 内置模块\n\t\t\t\t\"builtin\",\n\t\t\t\t// 第三方模块\n\t\t\t\t\"external\",\n\t\t\t\t// 项目内部模块\n\t\t\t\t\"internal\",\n\t\t\t\t// 父级目录中的模块\n\t\t\t\t\"parent\",\n\t\t\t\t// 具有相同父级的模块\n\t\t\t\t\"sibling\",\n\t\t\t\t// 当前目录的 index.js 或 index.ts 文件\n\t\t\t\t\"index\",\n\t\t\t\t\"object\",\n\t\t\t\t\"type\",\n\t\t\t\t\"unknown\",\n\t\t\t],\n\t\t\tpathGroups: [\n\t\t\t\t{\n\t\t\t\t\tpattern: \"@dcloudio/*\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"vue\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"@vue/**\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"element-plus\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"@element-plus/**\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"fast-element-plus\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"@fast-element-plus/**\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: \"@fast-china/**\",\n\t\t\t\t\tgroup: \"external\",\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tpathGroupsExcludedImportTypes: [\"type\"],\n\t\t\t// 禁止不同组之间进行换行\n\t\t\t\"newlines-between\": \"never\",\n\t\t\t//根据字母顺序对每个组内的顺序进行排序\n\t\t\talphabetize: {\n\t\t\t\torder: \"asc\",\n\t\t\t\tcaseInsensitive: true,\n\t\t\t},\n\t\t},\n\t],\n\t// 关闭 - 禁用对无法解析的模块导入的检查\n\t\"import/no-unresolved\": \"off\",\n\t// 关闭 - 禁用对命名空间导入(例如,import * as)的检查\n\t\"import/namespace\": \"off\",\n\t// 关闭 - 禁用对默认导入的检查\n\t\"import/default\": \"off\",\n\t// 关闭 - 禁用对以默认导出方式作为命名导入的检查\n\t\"import/no-named-as-default\": \"off\",\n\t// 关闭 - 禁用对将默认导出成员当作命名导入的检查\n\t\"import/no-named-as-default-member\": \"off\",\n\t// 关闭 - 禁用对命名导入(即从模块中导入特定命名的内容)的检查\n\t\"import/named\": \"off\",\n};\n","import type { Linter } from \"eslint\";\n\n/**\n * JavaScript规则\n */\nexport const javascriptRules: Linter.RulesRecord = {\n\t// JS/TS (http://eslint.cn/docs/rules)\n\n\t// 强制使用 camelCase 命名风格\n\tcamelcase: [\n\t\t\"error\",\n\t\t{\n\t\t\t// 允许对象属性使用非 camelCase 风格\n\t\t\tproperties: \"never\",\n\t\t},\n\t],\n\t// 禁止使用控制台\n\t\"no-console\": [\n\t\t\"warn\",\n\t\t{\n\t\t\t// 允许除 warn/error 之外的其他 console.xx 方法\n\t\t\tallow: [\"warn\", \"error\"],\n\t\t},\n\t],\n\t// 禁止使用 debugger\n\t\"no-debugger\": \"warn\",\n\t// 禁止在条件语句中使用常量条件\n\t\"no-constant-condition\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 允许在循环语句中使用常量条件\n\t\t\tcheckLoops: false,\n\t\t},\n\t],\n\t// 禁止使用某些特定的语法\n\t\"no-restricted-syntax\": [\n\t\t\"error\",\n\t\t// 禁止使用标记语句(labeled statements)\n\t\t\"LabeledStatement\",\n\t\t// 禁止使用 with 语句\n\t\t\"WithStatement\",\n\t],\n\t// 禁止在 return 语句中使用 await\n\t\"no-return-await\": \"error\",\n\t// 禁止使用 var 关键字,强制使用 let 或 const\n\t\"no-var\": \"error\",\n\t// 禁止使用空的块语句\n\t\"no-empty\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 允许空的 catch 块\n\t\t\tallowEmptyCatch: true,\n\t\t},\n\t],\n\t// 该规则禁止使用不规则或不标准的空白字符\n\t\"no-irregular-whitespace\": \"error\",\n\t// 禁止在函数或变量定义之前使用它们\n\t\"no-use-before-define\": \"warn\",\n\t// 强制使用 const 声明不被修改的变量\n\t\"prefer-const\": [\n\t\t\"warn\",\n\t\t{\n\t\t\t// 在解构赋值时也推荐使用 const\n\t\t\tdestructuring: \"all\",\n\t\t\t// 允许在变量首次赋值前读取变量的值\n\t\t\tignoreReadBeforeAssign: true,\n\t\t},\n\t],\n\t// 强制使用箭头函数而非普通函数\n\t\"prefer-arrow-callback\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 不允许使用命名函数作为回调函数\n\t\t\tallowNamedFunctions: false,\n\t\t\t// 允许在箭头函数中使用 this 绑定的上下文\n\t\t\tallowUnboundThis: true,\n\t\t},\n\t],\n\t// 强制使用对象字面量的方法和属性简写语法\n\t\"object-shorthand\": [\n\t\t\"error\",\n\t\t\"always\",\n\t\t{\n\t\t\t// 不忽略构造函数中的属性简写\n\t\t\tignoreConstructors: false,\n\t\t\t// 强制避免在属性名中使用引号\n\t\t\tavoidQuotes: true,\n\t\t},\n\t],\n\t// 强制使用 rest 参数代替 arguments 对象\n\t\"prefer-rest-params\": \"error\",\n\t// 强制使用展开运算符(...)代替 Function.prototype.apply\n\t\"prefer-spread\": \"error\",\n\t// 强制使用模板字面量代替字符串连接\n\t\"prefer-template\": \"error\",\n\t// 禁止在同一作用域中重新声明变量\n\t\"no-redeclare\": \"error\",\n};\n","import type { Linter } from \"eslint\";\n\n/**\n * package.json 属性排序规则\n */\nexport const packageJsonSortRules: Linter.RulesRecord = {\n\t\"jsonc/sort-array-values\": [\n\t\t\"error\",\n\t\t{\n\t\t\torder: { type: \"asc\" },\n\t\t\tpathPattern: \"^files$\",\n\t\t},\n\t],\n\t\"jsonc/sort-keys\": [\n\t\t\"error\",\n\t\t{\n\t\t\torder: [\n\t\t\t\t\"name\",\n\t\t\t\t\"version\",\n\t\t\t\t\"private\",\n\t\t\t\t\"packageManager\",\n\t\t\t\t\"description\",\n\t\t\t\t\"type\",\n\t\t\t\t\"keywords\",\n\t\t\t\t\"license\",\n\t\t\t\t\"homepage\",\n\t\t\t\t\"bugs\",\n\t\t\t\t\"repository\",\n\t\t\t\t\"author\",\n\t\t\t\t\"contributors\",\n\t\t\t\t\"funding\",\n\t\t\t\t\"files\",\n\t\t\t\t\"main\",\n\t\t\t\t\"module\",\n\t\t\t\t\"types\",\n\t\t\t\t\"exports\",\n\t\t\t\t\"typesVersions\",\n\t\t\t\t\"sideEffects\",\n\t\t\t\t\"unpkg\",\n\t\t\t\t\"jsdelivr\",\n\t\t\t\t\"browser\",\n\t\t\t\t\"bin\",\n\t\t\t\t\"man\",\n\t\t\t\t\"directories\",\n\t\t\t\t\"publishConfig\",\n\t\t\t\t\"scripts\",\n\t\t\t\t\"peerDependencies\",\n\t\t\t\t\"peerDependenciesMeta\",\n\t\t\t\t\"optionalDependencies\",\n\t\t\t\t\"dependencies\",\n\t\t\t\t\"devDependencies\",\n\t\t\t\t\"engines\",\n\t\t\t\t\"config\",\n\t\t\t\t\"overrides\",\n\t\t\t\t\"pnpm\",\n\t\t\t\t\"husky\",\n\t\t\t\t\"lint-staged\",\n\t\t\t\t\"eslintConfig\",\n\t\t\t\t\"prettier\",\n\t\t\t],\n\t\t\tpathPattern: \"^$\",\n\t\t},\n\t\t{\n\t\t\torder: { type: \"asc\" },\n\t\t\tpathPattern: \"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$\",\n\t\t},\n\t\t{\n\t\t\torder: [\"types\", \"require\", \"import\", \"default\"],\n\t\t\tpathPattern: \"^exports.*$\",\n\t\t},\n\t\t{\n\t\t\torder: { type: \"asc\" },\n\t\t\tpathPattern: \"^(?:resolutions|overrides|pnpm.overrides)$\",\n\t\t},\n\t],\n};\n","import type { Linter } from \"eslint\";\n\n/**\n * tsconfig.json 属性排序规则\n */\nexport const tsconfigJsonSortRules: Linter.RulesRecord = {\n\t\"jsonc/sort-keys\": [\n\t\t\"error\",\n\t\t{\n\t\t\torder: [\"extends\", \"compilerOptions\", \"references\", \"files\", \"include\", \"exclude\"],\n\t\t\tpathPattern: \"^$\",\n\t\t},\n\t\t{\n\t\t\torder: [\n\t\t\t\t/* Projects */\n\t\t\t\t\"incremental\",\n\t\t\t\t\"composite\",\n\t\t\t\t\"tsBuildInfoFile\",\n\t\t\t\t\"disableSourceOfProjectReferenceRedirect\",\n\t\t\t\t\"disableSolutionSearching\",\n\t\t\t\t\"disableReferencedProjectLoad\",\n\t\t\t\t/* Language and Environment */\n\t\t\t\t\"target\",\n\t\t\t\t\"jsx\",\n\t\t\t\t\"jsxFactory\",\n\t\t\t\t\"jsxFragmentFactory\",\n\t\t\t\t\"jsxImportSource\",\n\t\t\t\t\"lib\",\n\t\t\t\t\"moduleDetection\",\n\t\t\t\t\"noLib\",\n\t\t\t\t\"reactNamespace\",\n\t\t\t\t\"useDefineForClassFields\",\n\t\t\t\t\"emitDecoratorMetadata\",\n\t\t\t\t\"experimentalDecorators\",\n\t\t\t\t/* Modules */\n\t\t\t\t\"baseUrl\",\n\t\t\t\t\"rootDir\",\n\t\t\t\t\"rootDirs\",\n\t\t\t\t\"customConditions\",\n\t\t\t\t\"module\",\n\t\t\t\t\"moduleResolution\",\n\t\t\t\t\"moduleSuffixes\",\n\t\t\t\t\"noResolve\",\n\t\t\t\t\"paths\",\n\t\t\t\t\"resolveJsonModule\",\n\t\t\t\t\"resolvePackageJsonExports\",\n\t\t\t\t\"resolvePackageJsonImports\",\n\t\t\t\t\"typeRoots\",\n\t\t\t\t\"types\",\n\t\t\t\t\"allowArbitraryExtensions\",\n\t\t\t\t\"allowImportingTsExtensions\",\n\t\t\t\t\"allowUmdGlobalAccess\",\n\t\t\t\t/* JavaScript Support */\n\t\t\t\t\"allowJs\",\n\t\t\t\t\"checkJs\",\n\t\t\t\t\"maxNodeModuleJsDepth\",\n\t\t\t\t/* Type Checking */\n\t\t\t\t\"strict\",\n\t\t\t\t\"strictBindCallApply\",\n\t\t\t\t\"strictFunctionTypes\",\n\t\t\t\t\"strictNullChecks\",\n\t\t\t\t\"strictPropertyInitialization\",\n\t\t\t\t\"allowUnreachableCode\",\n\t\t\t\t\"allowUnusedLabels\",\n\t\t\t\t\"alwaysStrict\",\n\t\t\t\t\"exactOptionalPropertyTypes\",\n\t\t\t\t\"noFallthroughCasesInSwitch\",\n\t\t\t\t\"noImplicitAny\",\n\t\t\t\t\"noImplicitOverride\",\n\t\t\t\t\"noImplicitReturns\",\n\t\t\t\t\"noImplicitThis\",\n\t\t\t\t\"noPropertyAccessFromIndexSignature\",\n\t\t\t\t\"noUncheckedIndexedAccess\",\n\t\t\t\t\"noUnusedLocals\",\n\t\t\t\t\"noUnusedParameters\",\n\t\t\t\t\"useUnknownInCatchVariables\",\n\t\t\t\t/* Emit */\n\t\t\t\t\"declaration\",\n\t\t\t\t\"declarationDir\",\n\t\t\t\t\"declarationMap\",\n\t\t\t\t\"downlevelIteration\",\n\t\t\t\t\"emitBOM\",\n\t\t\t\t\"emitDeclarationOnly\",\n\t\t\t\t\"importHelpers\",\n\t\t\t\t\"importsNotUsedAsValues\",\n\t\t\t\t\"inlineSourceMap\",\n\t\t\t\t\"inlineSources\",\n\t\t\t\t\"isolatedDeclarations\",\n\t\t\t\t\"mapRoot\",\n\t\t\t\t\"newLine\",\n\t\t\t\t\"noEmit\",\n\t\t\t\t\"noEmitHelpers\",\n\t\t\t\t\"noEmitOnError\",\n\t\t\t\t\"outDir\",\n\t\t\t\t\"outFile\",\n\t\t\t\t\"preserveConstEnums\",\n\t\t\t\t\"preserveValueImports\",\n\t\t\t\t\"removeComments\",\n\t\t\t\t\"sourceMap\",\n\t\t\t\t\"sourceRoot\",\n\t\t\t\t\"stripInternal\",\n\t\t\t\t/* Interop Constraints */\n\t\t\t\t\"allowSyntheticDefaultImports\",\n\t\t\t\t\"esModuleInterop\",\n\t\t\t\t\"forceConsistentCasingInFileNames\",\n\t\t\t\t\"isolatedModules\",\n\t\t\t\t\"preserveSymlinks\",\n\t\t\t\t\"verbatimModuleSyntax\",\n\t\t\t\t/* Completeness */\n\t\t\t\t\"skipDefaultLibCheck\",\n\t\t\t\t\"skipLibCheck\",\n\t\t\t],\n\t\t\tpathPattern: \"^compilerOptions$\",\n\t\t},\n\t],\n};\n","import type { Linter } from \"eslint\";\n\n/**\n * TypeScript规则\n */\nexport const typescriptRules: Linter.RulesRecord = {\n\t// TS (https://typescript-eslint.io/rules)\n\n\t// 要求在导出函数和类的公共方法上显式声明返回类型\n\t\"@typescript-eslint/explicit-module-boundary-types\": [\n\t\t\"error\",\n\t\t{\n\t\t\tallowArgumentsExplicitlyTypedAsAny: true,\n\t\t},\n\t],\n\t// 要求在 TypeScript 函数和方法中显式地指定返回类型\n\t\"@typescript-eslint/explicit-function-return-type\": \"error\",\n\t// 禁止在同一作用域中重新声明 TypeScript 变量\n\t\"@typescript-eslint/no-redeclare\": \"error\",\n\t// 禁止定义未使用的变量,方法参数排除。\n\t\"@typescript-eslint/no-unused-vars\": [\"error\", { args: \"none\" }],\n\t// 允许使用自定义TypeScript模块和命名空间\n\t\"@typescript-eslint/no-namespace\": \"off\",\n\t// 允许使用 any 类型\n\t\"@typescript-eslint/no-explicit-any\": \"off\",\n\t// 禁止在 TypeScript 文件中使用 require 函数进行模块导入\n\t\"@typescript-eslint/no-var-requires\": \"error\",\n\t// 禁止定义空函数\n\t\"@typescript-eslint/no-empty-function\": [\"error\", { allow: [] }],\n\t// 禁止无用的表达式\n\t\"@typescript-eslint/no-unused-expressions\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 允许短路操作符(&& 和 ||)中的无副作用表达式\n\t\t\tallowShortCircuit: true,\n\t\t\t// 允许三元操作符中的无副作用表达式\n\t\t\tallowTernary: true,\n\t\t},\n\t],\n\t// 禁止在 TypeScript 代码中对类型已经可以被推断的变量或参数进行显式的类型注解\n\t\"@typescript-eslint/no-inferrable-types\": \"error\",\n\t// 禁止使用后缀运算符的非空断言(!)\n\t\"@typescript-eslint/no-non-null-assertion\": \"error\",\n\t// 禁止在可选链(?)后使用非空断言(!)\n\t\"@typescript-eslint/no-non-null-asserted-optional-chain\": \"error\",\n\t// 禁止在代码中使用 @ts-ignore 注释\n\t\"@typescript-eslint/ban-ts-comment\": [\"error\", { \"ts-ignore\": false }],\n\t// 一致地使用 TypeScript 类型导入\n\t\"@typescript-eslint/consistent-type-imports\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 允许使用类型注解\n\t\t\tdisallowTypeAnnotations: false,\n\t\t},\n\t],\n};\n","import type { Linter } from \"eslint\";\n\n/**\n * Vue规则\n */\nexport const vueRules: Linter.RulesRecord = {\n\t// vue (https://eslint.vuejs.org/rules)\n\n\t// 允许使用 v-html\n\t\"vue/no-v-html\": \"off\",\n\t// 禁用所有 props 必填时,必须提供默认值\n\t\"vue/require-default-prop\": \"off\",\n\t// 强制组件中必须使用 emits 选项声明事件\n\t\"vue/require-explicit-emits\": \"error\",\n\t// 禁用组件名称必须是多单词\n\t\"vue/multi-word-component-names\": \"off\",\n\t// 关闭 - 强制从 vue 中导入 Vue相关 API\n\t\"vue/prefer-import-from-vue\": \"off\",\n\t// 强制 HTML 属性使用 camelCase 风格\n\t\"vue/attribute-hyphenation\": [\n\t\t\"error\",\n\t\t\"never\",\n\t\t{\n\t\t\tignore: [\n\t\t\t\t// 忽略 Element-Plus 加载文案\"element-loading-text\"\n\t\t\t\t\"element-loading-text\",\n\n\t\t\t\t// 忽略 UniApp view 标签的一些属性\n\t\t\t\t\"hover-class\",\n\t\t\t\t\"hover-stop-propagation\",\n\t\t\t\t\"hover-start-time\",\n\t\t\t\t\"hover-stay-time\",\n\t\t\t],\n\t\t},\n\t],\n\n\t// 禁止重复的字段名\n\t\"vue/no-dupe-keys\": \"error\",\n\t// 禁止直接修改 props 的值\n\t\"vue/no-mutating-props\": \"error\",\n\t// 禁止使用 Vue.js 内置的保留组件名称(如 transition、keep-alive 等)作为自定义组件名称\n\t\"vue/no-reserved-component-names\": \"error\",\n\t// 禁止在自定义组件上使用 v-text 或 v-html 指令\n\t\"vue/no-v-text-v-html-on-component\": \"off\",\n\t// 防止<script setup>使用的变量<template>被标记为未使用,此规则仅在启用该no-unused-vars规则时有效。\n\t// \"vue/script-setup-uses-vars\": \"error\",\n\t// 强制自定义事件名称使用 camelCase 风格命名\n\t\"vue/custom-event-name-casing\": [\"error\", \"camelCase\"],\n\t// 强制每个 Vue 文件中只包含一个 Vue 组件\n\t\"vue/one-component-per-file\": \"off\",\n\t// 闭合标签换行风格\n\t\"vue/html-closing-bracket-newline\": [\n\t\t\"error\",\n\t\t{\n\t\t\t// 强制要求当 HTML 元素跨多行时,闭合标签必须出现在新的一行上\n\t\t\tmultiline: \"always\",\n\t\t\t// 强制要求当 HTML 元素只有一行时,闭合标签应与开始标签在同一行上\n\t\t\tsingleline: \"never\",\n\t\t},\n\t],\n\t// 强制 Vue 模板中 HTML 元素的属性按照指定的顺序排列\n\t\"vue/attributes-order\": [\n\t\t\"error\",\n\t\t{\n\t\t\torder: [\"DEFINITION\", \"LIST_RENDERING\", \"CONDITIONALS\", \"RENDER_MODIFIERS\", \"GLOBAL\", \"UNIQUE\", \"OTHER_ATTR\", \"EVENTS\", \"CONTENT\"],\n\t\t},\n\t],\n};\n","import { defineConfig } from \"eslint/config\";\nimport eslintConfigFlatGitignore from \"eslint-config-flat-gitignore\";\nimport { CONST_DIST, CONST_LOCKFILE, CONST_NODE_MODULES, CONST_PUBLIC } from \"../constants\";\n\n/**\n * 忽略配置\n */\nexport const ignoresConfigs = defineConfig([\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 * .d.ts\n */\nexport const CONST_DTS = \"**/*.d.ts\";\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","import { defineConfig } from \"eslint/config\";\nimport eslintPluginImport from \"eslint-plugin-import\";\nimport { CONST_DTS, CONST_JS, CONST_JSX, CONST_TS, CONST_TSX } from \"../constants\";\nimport { importRules, importUseLodashUnifiedRules } from \"../rules\";\n\n/**\n * import配置\n */\nexport const importConfigs = defineConfig([\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, CONST_DTS],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trules: {\n\t\t\t...importRules,\n\n\t\t\t...importUseLodashUnifiedRules,\n\t\t},\n\t},\n]);\n","import eslint from \"@eslint/js\";\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\nimport { javascriptRules } from \"../rules\";\n\n/**\n * JavaScript配置\n */\nexport const javascriptConfigs = defineConfig([\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\tecmaFeatures: {\n\t\t\t\t\t// 允许使用 JSX 语法,适用于 Vue 组件中的 JSX 代码。\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: javascriptRules,\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// 关闭 - 禁止使用未声明的变量,除非/*global *\\/注释中提到\n\t\t\t\"no-undef\": \"off\",\n\t\t\t// 关闭 - 禁用对无法解析的模块导入的检查\n\t\t\t\"import/no-unresolved\": \"off\",\n\t\t\t// 关闭 - 禁止在文件中重复导入相同的模块\n\t\t\t\"import/no-duplicates\": \"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 { defineConfig } from \"eslint/config\";\nimport eslintPluginJsonc from \"eslint-plugin-jsonc\";\nimport jsoncEslintParser from \"jsonc-eslint-parser\";\nimport { CONST_JSON, CONST_JSON5, CONST_JSON6, CONST_JSONC } from \"../constants\";\n\n/**\n * Json配置\n */\nexport const jsonConfigs = defineConfig([\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: {\n\t\t\t\trules: eslintPluginJsonc.rules,\n\t\t\t},\n\t\t},\n\t},\n]);\n","import eslintMarkdown from \"@eslint/markdown\";\nimport { defineConfig } from \"eslint/config\";\nimport { CONST_MD } from \"../constants\";\n\n/**\n * markdown配置\n */\nexport const markdownConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/markdown\",\n\t\tfiles: [CONST_MD],\n\t\t// 继承某些已有的规则\n\t\textends: [...eslintMarkdown.configs[\"recommended\"]],\n\t\tplugins: {\n\t\t\tmarkdown: eslintMarkdown,\n\t\t},\n\t},\n]);\n","import { defineConfig } from \"eslint/config\";\nimport eslintConfigPrettierFlat from \"eslint-config-prettier/flat\";\nimport eslintPluginPrettier from \"eslint-plugin-prettier\";\nimport eslintPluginPrettierRecommended from \"eslint-plugin-prettier/recommended\";\n\n/**\n * prettier配置\n */\nexport const prettierConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/prettier\",\n\t\t// 继承某些已有的规则\n\t\textends: [eslintConfigPrettierFlat, eslintPluginPrettierRecommended],\n\t\tplugins: {\n\t\t\tprettier: eslintPluginPrettier,\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 { defineConfig } from \"eslint/config\";\nimport eslintPluginRegexp from \"eslint-plugin-regexp\";\n\n/**\n * regexp配置\n */\nexport const regexpConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/regexp\",\n\t\t...eslintPluginRegexp.configs[\"flat/recommended\"],\n\t},\n]);\n","import { defineConfig } from \"eslint/config\";\nimport { packageJsonSortRules } from \"../rules\";\n\n/**\n * package.json 属性排序\n */\nexport const packageJsonSortConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/sort/package\",\n\t\tfiles: [\"**/package.json\"],\n\t\trules: packageJsonSortRules,\n\t},\n]);\n","import { defineConfig } from \"eslint/config\";\nimport { CONST_TSCONFIG } from \"../constants\";\nimport { tsconfigJsonSortRules } from \"../rules\";\n\n/**\n * tsconfig.json 属性排序\n */\nexport const tsconfigJsonSortConfigs = defineConfig([\n\t{\n\t\tname: \"@fast-china/sort/tsconfig\",\n\t\tfiles: CONST_TSCONFIG,\n\t\trules: tsconfigJsonSortRules,\n\t},\n]);\n","import { defineConfig } from \"eslint/config\";\nimport tseslint from \"typescript-eslint\";\nimport { CONST_DTS, CONST_TS, CONST_TSX } from \"../constants\";\nimport { typescriptRules } from \"../rules\";\n\n/**\n * TypeScript 核心配置\n */\nexport const typescriptCoreConfigs = defineConfig([\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\tecmaFeatures: {\n\t\t\t\t\t// 允许使用 TSX 语法,适用于 Vue 组件中的 TSX 代码。\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: typescriptRules,\n\t},\n]);\n\n/**\n * TypeScript配置\n */\nexport const typescriptConfigs = defineConfig([\n\t...typescriptCoreConfigs,\n\t{\n\t\tname: \"@fast-china/typescript/dts\",\n\t\tfiles: [CONST_DTS],\n\t\trules: {\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/vite\",\n\t\tfiles: [\"**/vite.config.*\"],\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/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 { defineConfig } from \"eslint/config\";\nimport eslintPluginVue from \"eslint-plugin-vue\";\nimport tseslint from \"typescript-eslint\";\nimport vueEslintParser from \"vue-eslint-parser\";\nimport { CONST_VUE } from \"../constants\";\nimport { isVue3 } from \"../env\";\nimport { vueRules } from \"../rules\";\nimport { typescriptCoreConfigs } from \"./typescript\";\n\n/**\n * vue配置\n */\nexport const vueConfigs = defineConfig([\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/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\t// 允许使用最新的 ECMAScript 语法特性\n\t\t\tecmaVersion: \"latest\",\n\t\t\t// 允许 ESLint 处理 Vue 文件中的模板和脚本\n\t\t\tparser: vueEslintParser,\n\t\t\tparserOptions: {\n\t\t\t\t// 允许在 Vue 文件中的脚本部分使用 TypeScript 语法\n\t\t\t\tparser: tseslint.parser,\n\t\t\t\t// parser: \"@typescript-eslint/parser\",\n\t\t\t\t// 指定额外的文件扩展名,告诉解析器 .vue 文件也需要处理\n\t\t\t\textraFileExtensions: [\".vue\"],\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: eslintPluginVue,\n\t\t},\n\t\trules: {\n\t\t\t...vueRules,\n\n\t\t\t// 关闭 - 禁止使用未声明的变量,以避免在 .vue 文件中出现关于未定义变量的警告,这在 Vue 单文件组件中可能不适用或会导致不必要的警告\n\t\t\t\"no-undef\": \"off\",\n\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/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},\n]);\n","import { getPackageInfoSync } from \"local-pkg\";\n\nconst getVueVersion = (): number => {\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 */\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\";\n\n/**\n * JavaScript 预置配置\n *\n * @description ignores,common,javascript,import,regexp\n */\nexport const PresetJavascriptConfigs = [...ignoresConfigs, ...commonConfigs, ...javascriptConfigs, ...importConfigs, ...regexpConfigs];\n\n/**\n * JSON 预置配置\n */\nexport const PresetJsonConfigs = [...jsonConfigs, ...packageJsonSortConfigs, ...tsconfigJsonSortConfigs];\n\n/**\n * 基础预置配置\n *\n * @description javascript,typescript,json\n */\nexport const PresetBasicConfigs = [...PresetJavascriptConfigs, ...typescriptConfigs, ...PresetJsonConfigs];\n\n/**\n * 默认最全的配置\n */\nexport default [...PresetBasicConfigs, ...vueConfigs, ...prettierConfigs, ...markdownConfigs];\n"],"mappings":"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","names":["defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","defineConfig","tseslint","defineConfig","tseslint"]}