@nest-boot/eslint-config 6.10.2 → 7.0.0-beta.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @nest-boot/eslint-config
2
2
 
3
+ ## 7.0.0-beta.1
4
+
5
+ ### Patch Changes
6
+
7
+ - b5e6548: 重新发布版本
8
+ - Updated dependencies [b5e6548]
9
+ - @nest-boot/eslint-plugin@7.0.0-beta.1
10
+
11
+ ## 7.0.0-beta.0
12
+
13
+ ### Major Changes
14
+
15
+ - 14895ac: ESLint 升级到 v9
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [14895ac]
20
+ - @nest-boot/eslint-plugin@7.0.0-beta.0
21
+
3
22
  ## 6.10.2
4
23
 
5
24
  ### Patch Changes
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { Linter } from "eslint";
2
+
3
+ declare const config: Linter.Config[];
4
+
5
+ export default config;
package/index.js CHANGED
@@ -1,49 +1,93 @@
1
- module.exports = {
2
- env: {
3
- node: true,
4
- },
5
- extends: [
6
- "standard",
7
- "plugin:@typescript-eslint/strict-type-checked",
8
- "plugin:@typescript-eslint/stylistic-type-checked",
9
- "prettier",
10
- ],
11
- plugins: ["@nest-boot", "simple-import-sort"],
12
- rules: {
13
- "no-void": "off",
14
- "no-use-before-define": "off",
15
-
16
- // 导入排序
17
- "import/order": "off",
18
- "simple-import-sort/imports": "error",
19
- "simple-import-sort/exports": "error",
20
-
21
- // 总是使用 return await
22
- "@typescript-eslint/return-await": ["error", "always"],
23
-
24
- "@typescript-eslint/restrict-plus-operands": "error",
25
- "@typescript-eslint/no-unsafe-assignment": "off",
26
- "@typescript-eslint/no-unsafe-argument": "off",
27
- "@typescript-eslint/no-unsafe-member-access": "off",
28
- "@typescript-eslint/no-unsafe-call": "off",
29
- "@typescript-eslint/no-unsafe-return": "off",
30
- "@typescript-eslint/no-unnecessary-condition": "off",
31
- "@typescript-eslint/no-extraneous-class": "off",
32
- "@typescript-eslint/no-explicit-any": "off",
33
- "@typescript-eslint/no-empty-function": [
34
- "error",
35
- { allow: ["constructors"] },
36
- ],
37
- "@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
38
-
39
- "@nest-boot/entity-constructor": "error",
40
- "@nest-boot/entity-property-no-optional-or-non-null-assertion": "error",
41
- "@nest-boot/entity-property-nullable": "error",
42
- "@nest-boot/graphql-field-arguments-match-property-type": "error",
43
- "@nest-boot/graphql-resolver-method-return-type": "error",
44
- },
45
- parserOptions: {
46
- sourceType: "module",
47
- project: true,
1
+ const js = require("@eslint/js");
2
+ const tsParser = require("@typescript-eslint/parser");
3
+ const tseslint = require("typescript-eslint");
4
+ const nestBootPlugin = require("@nest-boot/eslint-plugin");
5
+ const simpleImportSort = require("eslint-plugin-simple-import-sort");
6
+ const prettierConfig = require("eslint-config-prettier");
7
+ const { FlatCompat } = require("@eslint/eslintrc");
8
+
9
+ const compat = new FlatCompat({
10
+ baseDirectory: __dirname,
11
+ });
12
+
13
+ /** @type {import('eslint').Linter.Config[]} */
14
+ module.exports = [
15
+ js.configs.recommended,
16
+
17
+ // 使用 FlatCompat 包装 Standard 配置
18
+ ...compat.extends("standard"),
19
+
20
+ // TypeScript 严格类型检查配置
21
+ ...tseslint.configs.strictTypeChecked,
22
+ ...tseslint.configs.stylisticTypeChecked,
23
+
24
+ // TypeScript 和插件配置
25
+ {
26
+ files: ["**/*.{ts,tsx,js,jsx}"],
27
+ languageOptions: {
28
+ parser: tsParser,
29
+ parserOptions: {
30
+ sourceType: "module",
31
+ project: true,
32
+ },
33
+ globals: {
34
+ process: "readonly",
35
+ Buffer: "readonly",
36
+ __dirname: "readonly",
37
+ __filename: "readonly",
38
+ module: "readonly",
39
+ require: "readonly",
40
+ exports: "readonly",
41
+ global: "readonly",
42
+ console: "readonly",
43
+ },
44
+ },
45
+ plugins: {
46
+ "@nest-boot": nestBootPlugin,
47
+ "simple-import-sort": simpleImportSort,
48
+ },
49
+ rules: {
50
+ // 基础规则
51
+ "no-void": "off",
52
+ "no-use-before-define": "off",
53
+
54
+ // 导入排序
55
+ "import/order": "off",
56
+ "simple-import-sort/imports": "error",
57
+ "simple-import-sort/exports": "error",
58
+
59
+ // 禁用 no-unused-expressions 和 @typescript-eslint/no-unused-expressions
60
+ "no-unused-expressions": "off",
61
+ "@typescript-eslint/no-unused-expressions": "off",
62
+
63
+ // TypeScript 规则
64
+ "@typescript-eslint/return-await": ["error", "always"],
65
+ "@typescript-eslint/restrict-plus-operands": "error",
66
+ "@typescript-eslint/no-unsafe-assignment": "off",
67
+ "@typescript-eslint/no-unsafe-argument": "off",
68
+ "@typescript-eslint/no-unsafe-member-access": "off",
69
+ "@typescript-eslint/no-unsafe-call": "off",
70
+ "@typescript-eslint/no-unsafe-return": "off",
71
+ "@typescript-eslint/no-unnecessary-condition": "off",
72
+ "@typescript-eslint/no-extraneous-class": "off",
73
+ "@typescript-eslint/no-explicit-any": "off",
74
+ "@typescript-eslint/no-empty-function": [
75
+ "error",
76
+ { allow: ["constructors"] },
77
+ ],
78
+ "@typescript-eslint/no-unused-vars": [
79
+ "error",
80
+ { argsIgnorePattern: "^_" },
81
+ ],
82
+
83
+ // NestBoot 自定义规则
84
+ "@nest-boot/entity-constructor": "error",
85
+ "@nest-boot/entity-property-no-optional-or-non-null-assertion": "error",
86
+ "@nest-boot/entity-property-nullable": "error",
87
+ "@nest-boot/graphql-field-arguments-match-property-type": "error",
88
+ "@nest-boot/graphql-resolver-method-return-type": "error",
89
+ },
48
90
  },
49
- };
91
+
92
+ prettierConfig,
93
+ ];
package/package.json CHANGED
@@ -1,44 +1,40 @@
1
1
  {
2
2
  "name": "@nest-boot/eslint-config",
3
- "version": "6.10.2",
3
+ "version": "7.0.0-beta.1",
4
4
  "main": "index.js",
5
+ "types": "index.d.ts",
5
6
  "license": "MIT",
6
- "dependencies": {
7
- "@nest-boot/eslint-plugin": "^6.10.2",
8
- "@typescript-eslint/eslint-plugin": "^7.18.0",
9
- "@typescript-eslint/parser": "^7.18.0",
10
- "eslint": "^8.57.1",
11
- "eslint-config-prettier": "^9.0.0",
7
+ "devDependencies": {
8
+ "@eslint/eslintrc": "^3.3.1",
9
+ "@eslint/js": "^9.28.0",
10
+ "@nest-boot/eslint-plugin": "^7.0.0-beta.1",
11
+ "@typescript-eslint/eslint-plugin": "^8.33.1",
12
+ "@typescript-eslint/parser": "^8.33.1",
13
+ "eslint": "^9.28.0",
14
+ "eslint-config-prettier": "^10.1.5",
12
15
  "eslint-config-standard": "^17.1.0",
13
16
  "eslint-plugin-import": "^2.31.0",
14
- "eslint-plugin-n": "^17.15.1",
15
- "eslint-plugin-promise": "^6.6.0",
17
+ "eslint-plugin-n": "^17.19.0",
18
+ "eslint-plugin-promise": "^7.2.1",
16
19
  "eslint-plugin-simple-import-sort": "^12.1.1",
17
- "typescript": "^5.7.2"
18
- },
19
- "devDependencies": {
20
- "@typescript-eslint/eslint-plugin": "^6.7.0",
21
- "@typescript-eslint/parser": "^6.7.0",
22
- "eslint": "^8.49.0",
23
- "eslint-config-prettier": "^9.0.0",
24
- "eslint-config-standard": "^17.1.0",
25
- "eslint-plugin-import": "^2.28.1",
26
- "eslint-plugin-n": "^16.1.0",
27
- "eslint-plugin-promise": "^6.1.1",
28
- "eslint-plugin-simple-import-sort": "^10.0.0",
29
- "typescript": "^5.2.2"
20
+ "typescript": "^5.8.3",
21
+ "typescript-eslint": "^8.33.1"
30
22
  },
31
23
  "peerDependencies": {
32
- "@typescript-eslint/eslint-plugin": "^6.0.0",
33
- "@typescript-eslint/parser": "^6.0.0",
34
- "eslint": "^8.0.0",
35
- "eslint-config-prettier": "^8.0.0",
24
+ "@eslint/eslintrc": "^3.0.0",
25
+ "@eslint/js": "^9.0.0",
26
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
27
+ "@typescript-eslint/parser": "^8.0.0",
28
+ "eslint": "^9.0.0",
29
+ "eslint-config-prettier": "^10.0.0",
36
30
  "eslint-config-standard": "^17.0.0",
37
31
  "eslint-plugin-import": "^2.0.0",
38
- "eslint-plugin-n": "^16.0.0",
39
- "eslint-plugin-promise": "^6.0.0",
40
- "eslint-plugin-simple-import-sort": "^10.0.0",
41
- "typescript": "^5.0.0"
32
+ "eslint-plugin-n": "^17.0.0",
33
+ "eslint-plugin-promise": "^7.0.0",
34
+ "eslint-plugin-simple-import-sort": "^12.0.0",
35
+ "typescript": "^5.0.0",
36
+ "typescript-eslint": "^8.0.0",
37
+ "@nest-boot/eslint-plugin": "^7.0.0-beta.17.0.0-beta.1"
42
38
  },
43
39
  "publishConfig": {
44
40
  "access": "public"