@persagy2/eslint-plugin
Version:
一个适用于 vue3.x、typescript 项目的通用eslint预设插件
36 lines (31 loc) • 2.39 kB
text/typescript
/** eslint-disable max-len */
import { Linter } from 'eslint'
import { createConfig } from '../utils/create-config'
/**
* 废弃语法检查
*
* @包含
*
* 1. 禁止使用已经废弃的语法特性
*/
export const deprecated: Linter.Config = createConfig()
.extends('plugin:@persagy2/parser')
.level('error')
// vue >= 3.x 废弃特性
.rule('vue/no-deprecated-destroyed-lifecycle') // 禁止使用已弃用destroyed和beforeDestroy生命周期挂钩 (在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-dollar-listeners-api') // 禁止使用已弃用$listeners(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-dollar-scopedslots-api') // (fix) 禁止使用已弃用$scopedSlots(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-events-api') // 禁止使用已弃用的事件 API(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-filter') // 禁止使用不推荐使用的过滤器语法(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-functional-template') // 禁止使用已弃用的functional模板(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-html-element-is') // 禁止在 HTML 元素上使用已弃用的is属性(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-inline-template') // 禁止使用已弃用inline-template的属性(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-props-default-this') // 禁止this在 props 默认函数中弃用访问(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-router-link-tag-prop') // 禁止使用已弃用的tag属性RouterLink(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-v-on-native-modifier') // 禁止使用已弃用.native的修饰符(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-vue-config-keycodes') // 禁止使用已弃用Vue.config.keyCodes(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-v-bind-sync') // (fix) 禁止.sync在指令上使用 deprecated 修饰符v-bind(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-v-is') // (fix) 禁止弃用v-is指令(在 Vue.js 3.1.0+ 中)
.rule('vue/no-deprecated-v-on-number-modifiers') // (fix) 禁止使用不推荐使用的数字(键码)修饰符(在 Vue.js 3.0.0+ 中)
.rule('vue/no-deprecated-data-object-declaration') // 建议 data 定义统一使用函数方式(在 Vue.js 3.0.0+ 中)
.config()