eslint允许json以外的格式,包括.js,如果它作为模块导出。不幸的是,eslint所需的密钥包括下面的prefer-const等破折号。报价是必需的。这似乎有效。
但是:是否有一种解决方法允许.js首选项不需要引号?例如,更漂亮的是允许.prettierrc.js的驼峰案例。这似乎不适用于eslint。
module.exports = {
env: {
browser: true,
es6: true
},
extends: "standard",
parserOptions: {
sourceType: "module"
},
rules: {
curly: [ 0 ],
"prefer-const": [ 2 ]
}
}
如果对你很重要,我会继续编写一个函数来将密钥名称从camel case转换为dash样式。
我能够在几行中提出一个概念验证,所以这不应该是太多的工作。
function fromCamelCase(rules) {
return Object.entries(rules).reduce(
(obj, [key, value]) =>
(obj[key.replace(/[A-Z]/, ch => `-${ch.toLowerCase()}`)] = value, obj),
{ }
);
}
module.exports = {
env: {
browser: true,
es6: true
},
extends: "standard",
parserOptions: {
sourceType: "module"
},
rules: fromCamelCase({
curly: [ 0 ],
preferConst: [ 2 ]
})
}
如果我正确读取source code,则eslint不允许别名规则名称,因此创建自定义插件不是一种选择。