/** * Copyright (c) 2013-Now http://jeesite.com All rights reserved. * No deletion without permission, or be held responsible to law. * @author ThinkGem */ import globals from 'globals'; import vuePlugin from 'eslint-plugin-vue'; import tsPlugin from '@typescript-eslint/eslint-plugin'; import prettierPlugin from 'eslint-plugin-prettier'; import tsParser from '@typescript-eslint/parser'; import vueParser from 'vue-eslint-parser'; import babelParser from '@babel/eslint-parser'; export default [ // 基础忽略配置 { ignores: [ '**/node_modules/', '**/dist/', '**/public/', '**/build/', '**/.git/', '**/.vscode/', '**/.idea/', '**/.husky/', '**/.local/', '**/.turbo/', '**/Dockerfile', '**/*.sh', '**/*.md', '**/*.woff', '**/*.ttf', '**/*.d.ts', '**/__snapshots__/', ], }, // 公共基础配置 { languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.browser, ...globals.node, defineOptions: 'readonly', }, parserOptions: { requireConfigFile: false, }, }, rules: { // 通用规则 'no-case-declarations': 'off', 'no-extra-boolean-cast': 'off', 'no-undef': 'off', 'space-before-function-paren': 'off', }, }, // Vue 文件配置 { files: ['**/*.vue'], plugins: { vue: vuePlugin, }, languageOptions: { parser: vueParser, parserOptions: { parser: { ts: tsParser, tsx: tsParser, js: babelParser, '