如何配置ESLint naming-convention规则允许枚举用UPPER_CASE格式?
解决ESLint @typescript-eslint/naming-convention规则对枚举成员的格式限制
你需要将@typescript-eslint/naming-convention规则的配置从字符串形式改为数组形式,针对性地为枚举成员设置允许的命名格式。
原来的配置:
"@typescript-eslint/naming-convention": "error"
替换为以下配置,保留原有默认命名规则的同时,强制枚举成员使用UPPER_CASE格式:
"@typescript-eslint/naming-convention": [ "error", // 默认标识符使用camelCase { "selector": "default", "format": ["camelCase"] }, // 类、接口等类型使用PascalCase { "selector": "typeLike", "format": ["PascalCase"] }, // 变量允许camelCase或UPPER_CASE(可选,根据你的需求调整) { "selector": "variable", "format": ["camelCase", "UPPER_CASE"] }, // 枚举成员强制使用UPPER_CASE { "selector": "enumMember", "format": ["UPPER_CASE"] } ]
说明:
selector: "enumMember"明确指定该规则作用于枚举成员format: ["UPPER_CASE"]限定枚举成员必须使用大写下划线的命名格式,完全匹配你希望保持的风格- 其他规则项可根据项目实际需求调整,比如不需要变量支持
UPPER_CASE可以删掉对应配置
配置完成后,像下面这样的枚举代码就不会再触发ESLint报错:
enum ActionType { CREATE = 'CREATE', UPDATE = 'UPDATE', DELETE = 'DELETE' }
内容的提问来源于stack exchange,提问作者Peter Boomsma
相关产品推荐
相关产品推荐

