44 lines
1.1 KiB
JavaScript
44 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 pluginPrettierRecommendedConfigs from 'eslint-plugin-prettier/recommended'
|
|
import parserVue from 'vue-eslint-parser'
|
|
|
|
import { readFileSync } from 'fs'
|
|
const fileUrl = new URL('./.eslintrc-auto-import.json', import.meta.url)
|
|
const esAuto = JSON.parse(readFileSync(fileUrl))
|
|
|
|
export default [
|
|
// eslint 默认推荐规则
|
|
pluginJs.configs.recommended,
|
|
// ts 默认推荐规则
|
|
...tseslint.configs.recommended,
|
|
// vue3 基础推荐规则
|
|
...pluginVue.configs['flat/recommended'],
|
|
// prettier 默认推荐规则
|
|
pluginPrettierRecommendedConfigs,
|
|
{
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.es2020,
|
|
...globals.node,
|
|
...esAuto.globals,
|
|
acl: true,
|
|
dictionary: true,
|
|
sensor: true,
|
|
station: true,
|
|
},
|
|
ecmaVersion: 2020,
|
|
parser: parserVue,
|
|
parserOptions: {
|
|
parser: tseslint.parser,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ignores: ['public/', 'index.html', 'report.html'],
|
|
},
|
|
]
|