.eslintrc.js键带“ - ”(短划线)

问题描述 投票:0回答:1

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 ]
  }
}
javascript eslint eslintrc
1个回答
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不允许别名规则名称,因此创建自定义插件不是一种选择。

© www.soinside.com 2019 - 2024. All rights reserved.