.eslintrc.js键与" - " (短跑)

时间:2018-05-03 21:58:34

标签: javascript eslint eslintrc

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

1 个答案:

答案 0 :(得分: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 ]
  })
}

如果我正确阅读source code,则eslint不允许使用别名规则名称,因此无法创建自定义插件。