75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
module.exports = {
|
||
parser: 'vue-eslint-parser',
|
||
parserOptions: {
|
||
parser: '@typescript-eslint/parser',
|
||
ecmaVersion: 2020,
|
||
sourceType: 'module',
|
||
ecmaFeatures: {
|
||
jsx: true
|
||
}
|
||
},
|
||
extends: [
|
||
'plugin:vue/vue3-recommended',
|
||
],
|
||
rules: {
|
||
|
||
// VUE相关规则配置: https://eslint.vuejs.org/rules/
|
||
|
||
// 避免单行标签的换行
|
||
'vue/singleline-html-element-content-newline': 'off',
|
||
|
||
// 允许 自定义组件的 驼峰属性和中划线连接属性
|
||
'vue/attribute-hyphenation': 0,
|
||
|
||
'vue/v-on-event-hyphenation': 0,
|
||
|
||
// https://eslint.vuejs.org/rules/max-attributes-per-line.html#vue-max-attributes-per-line
|
||
'vue/max-attributes-per-line': ['error', {
|
||
'singleline': {
|
||
'max': 5 // vue 属性单行最多5个元素
|
||
},
|
||
'multiline': {
|
||
'max': 1 // 多行最多1个
|
||
}
|
||
}],
|
||
|
||
'no-multiple-empty-lines': [2, { 'max': 2 }], //空行最多不能超过2行
|
||
'no-empty': 2, //块语句中的内容不能为空
|
||
'no-tabs': 'off',
|
||
|
||
/**
|
||
* 分号配置项:
|
||
* 第一个参数:
|
||
' off'或0 - 关闭规则
|
||
' warn'或1 - 将该规则作为警告打开(不影响退出代码)
|
||
' error'或2 - 将规则作为错误打开(退出代码将为1)
|
||
*
|
||
*第二个参数
|
||
always(默认):在语句末尾需要分号
|
||
never:不允许加分号
|
||
*
|
||
* 第三个参数:
|
||
'beforeStatementContinuationChars': 'any'(默认)如果下一行语句以 [,(,/,+,或 - 开头,忽略语句末尾的分号(或缺失分号),
|
||
'beforeStatementContinuationChars': 'always' 如果下一行语句以 [,(,/,+,或 - 开头,在语句末尾需要添加分号。
|
||
'beforeStatementContinuationChars': 'never' 如果该语句不会因为ASI而带来风险,那么即使它的下一行语句以 [,(,/,+,或 - 开头,也不允许在语句末尾添加分号。
|
||
* **/
|
||
'semi': [
|
||
2,
|
||
'never',
|
||
{
|
||
'beforeStatementContinuationChars': 'never'
|
||
}
|
||
],
|
||
|
||
// 单引号
|
||
'quotes': [
|
||
2,
|
||
'single',
|
||
{
|
||
'avoidEscape': true,
|
||
'allowTemplateLiterals': true
|
||
}
|
||
],
|
||
},
|
||
}
|