0

eslint 允许 json 以外的格式,如果它作为模块导出,则包括 .js。不幸的是,eslint 所需的键包括破折号,例如下面的 prefer-const。需要报价。这似乎有效。

但是:是否有允许 .js 首选项不需要引号的解决方法?例如,Prettier 允许 .prettierrc.js 使用驼峰式大小写。这似乎不适用于 eslint。

module.exports = {
  env: {
    browser: true,
    es6:     true
  },
  extends:  "standard",
  parserOptions: {
    sourceType: "module"
  },
  rules: {
    curly: [ 0 ],
    "prefer-const": [ 2 ]
  }
}
4

1 回答 1

2

如果这对您很重要,我会继续编写一个函数来将键名从驼峰式大小写转换为破折号样式。

我能够在几行代码中提出一个概念验证,所以这不应该是太多的工作。

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 ]
  })
}

如果我正确阅读源代码,eslint 不允许使用别名规则名称,因此创建自定义插件不是一种选择。

于 2018-05-05T17:27:12.243 回答