build: 📦 (eslint)更新 ESLint 配置以支持 TypeScript 和 Prettier
- 增加 TypeScript 支持,包括 tsconfigRootDir 设置 - 集成 Prettier 插件,将 Prettier 输出作为 ESLint 问题报告 #ICVVIH
This commit is contained in:
@@ -1,11 +1,16 @@
|
|||||||
// https://eslint.org/docs/latest/use/configure/configuration-files-new
|
// https://eslint.org/docs/latest/use/configure/configuration-files-new
|
||||||
|
|
||||||
|
// 基础ESLint配置
|
||||||
import eslint from "@eslint/js";
|
import eslint from "@eslint/js";
|
||||||
import pluginVue from "eslint-plugin-vue";
|
|
||||||
import * as typescriptEslint from "typescript-eslint";
|
|
||||||
import vueParser from "vue-eslint-parser";
|
|
||||||
import globals from "globals";
|
import globals from "globals";
|
||||||
|
// TypeScript支持
|
||||||
|
import * as typescriptEslint from "typescript-eslint";
|
||||||
|
// Vue支持
|
||||||
|
import pluginVue from "eslint-plugin-vue";
|
||||||
|
import vueParser from "vue-eslint-parser";
|
||||||
|
// 代码风格与格式化
|
||||||
import configPrettier from "eslint-config-prettier";
|
import configPrettier from "eslint-config-prettier";
|
||||||
|
import prettierPlugin from "eslint-plugin-prettier";
|
||||||
|
|
||||||
// 解析自动导入配置
|
// 解析自动导入配置
|
||||||
import fs from "node:fs";
|
import fs from "node:fs";
|
||||||
@@ -132,6 +137,7 @@ export default [
|
|||||||
sourceType: "module",
|
sourceType: "module",
|
||||||
parser: typescriptEslint.parser,
|
parser: typescriptEslint.parser,
|
||||||
extraFileExtensions: [".vue"],
|
extraFileExtensions: [".vue"],
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
@@ -174,8 +180,10 @@ export default [
|
|||||||
languageOptions: {
|
languageOptions: {
|
||||||
parser: typescriptEslint.parser,
|
parser: typescriptEslint.parser,
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
project: true,
|
ecmaVersion: "latest",
|
||||||
tsconfigRootDir: import.meta.dirname,
|
sourceType: "module",
|
||||||
|
project: "./tsconfig.json",
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
@@ -212,5 +220,15 @@ export default [
|
|||||||
},
|
},
|
||||||
|
|
||||||
// Prettier 集成(必须放在最后)
|
// Prettier 集成(必须放在最后)
|
||||||
configPrettier,
|
{
|
||||||
|
plugins: {
|
||||||
|
prettier: prettierPlugin, // 将 Prettier 的输出作为 ESLint 的问题来报告
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
...configPrettier.rules,
|
||||||
|
"prettier/prettier": ["error", {}, { usePrettierrc: true }],
|
||||||
|
"arrow-body-style": "off",
|
||||||
|
"prefer-arrow-callback": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user