Skip to content

Commit 3d3740f

Browse files
committed
style(config): 添加 ESLint 配置和编辑器配置文件
- 新增 eslint.config.mjs 文件,配置 TypeScript ESLint 规则和忽略列表 - 添加 .editorconfig 文件,统一项目代码格式(编码、缩进、行尾等) - 新增 .prettierignore 忽略列表,排除部分目录和文件 - 添加 .vscode/extensions.json 推荐插件配置 - 调整 .gitignore 文件,删除 .vscode 忽略规则,保留其它规则
1 parent 43f24de commit 3d3740f

40 files changed

Lines changed: 6011 additions & 963 deletions

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
node_modules/
22
out/
3-
.vscode/
43
.DS_Store
54
*.vsix
65
.idea

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx --no -- lint-staged

.prettierignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
node_modules/
2+
out/
3+
dist/
4+
*.vsix
5+
package-lock.json
6+
.vscode-test/

.vscode/extensions.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"esbenp.prettier-vscode",
5+
"editorconfig.editorconfig"
6+
]
7+
}

.vscode/settings.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"editor.formatOnSave": true,
3+
"editor.codeActionsOnSave": {
4+
"source.fixAll.eslint": "explicit"
5+
},
6+
"editor.defaultFormatter": "esbenp.prettier-vscode",
7+
8+
"[typescript]": {
9+
"editor.defaultFormatter": "esbenp.prettier-vscode"
10+
},
11+
"[javascript]": {
12+
"editor.defaultFormatter": "esbenp.prettier-vscode"
13+
},
14+
"[json]": {
15+
"editor.defaultFormatter": "esbenp.prettier-vscode"
16+
},
17+
"[jsonc]": {
18+
"editor.defaultFormatter": "esbenp.prettier-vscode"
19+
},
20+
"[markdown]": {
21+
"editor.defaultFormatter": "esbenp.prettier-vscode"
22+
},
23+
24+
"eslint.validate": ["typescript", "javascript"],
25+
26+
"files.eol": "\n",
27+
"files.trimTrailingWhitespace": true,
28+
"files.insertFinalNewline": true
29+
}

eslint.config.mjs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import eslint from "@eslint/js";
2+
import tseslint from "typescript-eslint";
3+
4+
export default tseslint.config(
5+
{
6+
ignores: ["node_modules/", "out/", "dist/", "*.vsix", ".vscode-test/"]
7+
},
8+
9+
eslint.configs.recommended,
10+
11+
...tseslint.configs.recommended,
12+
13+
{
14+
files: ["src/**/*.ts"],
15+
rules: {
16+
"@typescript-eslint/no-unused-vars": [
17+
"warn",
18+
{
19+
argsIgnorePattern: "^_",
20+
varsIgnorePattern: "^_",
21+
caughtErrorsIgnorePattern: "^_"
22+
}
23+
],
24+
"@typescript-eslint/no-explicit-any": "warn",
25+
"@typescript-eslint/explicit-function-return-type": "off",
26+
"@typescript-eslint/no-non-null-assertion": "warn",
27+
"@typescript-eslint/consistent-type-imports": "warn",
28+
29+
"no-console": "off",
30+
"no-debugger": "error",
31+
"prefer-const": "warn",
32+
"no-var": "error",
33+
eqeqeq: ["error", "always"],
34+
"no-return-await": "error",
35+
"require-await": "warn"
36+
}
37+
},
38+
39+
{
40+
files: ["src/tests/*.test.ts"],
41+
rules: {
42+
"@typescript-eslint/no-explicit-any": "off",
43+
"@typescript-eslint/no-non-null-assertion": "off"
44+
}
45+
}
46+
);

0 commit comments

Comments
 (0)