Files
schisandra-cloud-album-front/eslint.config.js
2024-11-05 17:43:34 +08:00

32 lines
1.1 KiB
JavaScript

import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import pluginVue from "eslint-plugin-vue";
import {fileURLToPath} from "node:url";
import {dirname, resolve} from "path";
import {readFileSync} from "node:fs";
// 动态读取 .eslintrc-auto-import.json 文件内容
const autoImportConfig = JSON.parse(
readFileSync(
resolve(dirname(fileURLToPath(import.meta.url)), ".eslintrc-auto-import.json"),
"utf-8",
),
);
export default [
{files: ["**/*.{js,mjs,cjs,ts,vue}"]},
{languageOptions: {globals: {...globals.browser, ...globals.node, ...autoImportConfig.globals}}},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
...pluginVue.configs["flat/essential"],
{files: ["**/*.vue"], languageOptions: {parserOptions: {parser: tseslint.parser}}},
{
rules: {
semi: "error",
"@typescript-eslint/no-explicit-any": "off",
"vue/multi-word-component-names": "off",
'@typescript-eslint/no-unused-vars': ['error', {"argsIgnorePattern": "^_"}],
}
}
];