first commit
This commit is contained in:
121
eslint.config.js
Normal file
121
eslint.config.js
Normal file
@@ -0,0 +1,121 @@
|
||||
import js from '@eslint/js'
|
||||
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
|
||||
import pluginOxlint from 'eslint-plugin-oxlint'
|
||||
import pluginVue from 'eslint-plugin-vue'
|
||||
import { defineConfig, globalIgnores } from 'eslint/config'
|
||||
import globals from 'globals'
|
||||
|
||||
export default defineConfig([
|
||||
{
|
||||
name: 'app/files-to-lint',
|
||||
files: ['**/*.{js,mjs,jsx,vue}'],
|
||||
},
|
||||
|
||||
globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']),
|
||||
|
||||
{
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.browser,
|
||||
// 自动引入的全局变量
|
||||
'ref': 'readonly',
|
||||
'reactive': 'readonly',
|
||||
'computed': 'readonly',
|
||||
'watch': 'readonly',
|
||||
'watchEffect': 'readonly',
|
||||
'onMounted': 'readonly',
|
||||
'onUnmounted': 'readonly',
|
||||
'onBeforeMount': 'readonly',
|
||||
'onBeforeUnmount': 'readonly',
|
||||
'nextTick': 'readonly',
|
||||
'defineComponent': 'readonly',
|
||||
'h': 'readonly',
|
||||
'inject': 'readonly',
|
||||
'provide': 'readonly',
|
||||
'toRef': 'readonly',
|
||||
'toRefs': 'readonly',
|
||||
'unref': 'readonly',
|
||||
'isRef': 'readonly',
|
||||
'isReactive': 'readonly',
|
||||
'markRaw': 'readonly',
|
||||
'shallowRef': 'readonly',
|
||||
'shallowReactive': 'readonly',
|
||||
'readonly': 'readonly',
|
||||
'shallowReadonly': 'readonly',
|
||||
'toRaw': 'readonly',
|
||||
'customRef': 'readonly',
|
||||
'triggerRef': 'readonly',
|
||||
'getCurrentInstance': 'readonly',
|
||||
'useAttrs': 'readonly',
|
||||
'useSlots': 'readonly',
|
||||
'useCssModule': 'readonly',
|
||||
'useCssVars': 'readonly',
|
||||
'useId': 'readonly',
|
||||
'useModel': 'readonly',
|
||||
'useTemplateRef': 'readonly',
|
||||
'useLink': 'readonly',
|
||||
'useRoute': 'readonly',
|
||||
'useRouter': 'readonly',
|
||||
'onBeforeRouteLeave': 'readonly',
|
||||
'onBeforeRouteUpdate': 'readonly',
|
||||
'defineStore': 'readonly',
|
||||
'storeToRefs': 'readonly',
|
||||
'createPinia': 'readonly',
|
||||
'setActivePinia': 'readonly',
|
||||
'getActivePinia': 'readonly',
|
||||
'mapState': 'readonly',
|
||||
'mapGetters': 'readonly',
|
||||
'mapActions': 'readonly',
|
||||
'mapStores': 'readonly',
|
||||
'mapWritableState': 'readonly',
|
||||
'ElMessage': 'readonly',
|
||||
'ElMessageBox': 'readonly',
|
||||
'ElNotification': 'readonly',
|
||||
'ElLoading': 'readonly',
|
||||
'axios': 'readonly',
|
||||
'dayjs': 'readonly',
|
||||
'isEmpty': 'readonly',
|
||||
'isEqual': 'readonly',
|
||||
'get': 'readonly',
|
||||
'set': 'readonly',
|
||||
'omit': 'readonly',
|
||||
'pick': 'readonly',
|
||||
'merge': 'readonly',
|
||||
'uniq': 'readonly',
|
||||
'uniqBy': 'readonly',
|
||||
'groupBy': 'readonly',
|
||||
'keyBy': 'readonly',
|
||||
'sortBy': 'readonly',
|
||||
'orderBy': 'readonly',
|
||||
'filter': 'readonly',
|
||||
'map': 'readonly',
|
||||
'reduce': 'readonly',
|
||||
'find': 'readonly',
|
||||
'findIndex': 'readonly',
|
||||
'includes': 'readonly',
|
||||
'startsWith': 'readonly',
|
||||
'endsWith': 'readonly',
|
||||
'camelCase': 'readonly',
|
||||
'kebabCase': 'readonly',
|
||||
'snakeCase': 'readonly',
|
||||
'capitalize': 'readonly',
|
||||
'upperCase': 'readonly',
|
||||
'lowerCase': 'readonly',
|
||||
'trim': 'readonly',
|
||||
'escape': 'readonly',
|
||||
'unescape': 'readonly',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
js.configs.recommended,
|
||||
...pluginVue.configs['flat/essential'],
|
||||
...pluginOxlint.configs['flat/recommended'],
|
||||
{
|
||||
rules: {
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'no-unused-vars': 'warn',
|
||||
},
|
||||
},
|
||||
skipFormatting,
|
||||
])
|
||||
Reference in New Issue
Block a user