javascript - .eslintrc.js 键带有 "-"(破折号)

标签 javascript eslint eslintrc

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

最佳答案

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

我能够用几行代码提出概念验证,因此这应该不会是太多工作。

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 不允许使用别名规则名称,因此创建自定义插件不是一个选项。

关于javascript - .eslintrc.js 键带有 "-"(破折号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164415/

相关文章:

javascript - 在 JavaScript Web 应用程序中使用 Node 和 eslint

javascript - Prop 验证中缺少 React eslint 错误

eslint - 如何调试 eslint 规则?

javascript - eslint - vue/script-indent 忽略对象字段

javascript - npm 未安装顶级依赖项的依赖项

javascript - findByIdAndUpdate $set 不检查唯一性?

javascript - 如何知道 chrome Kiosk 模式下的控制台错误

javascript - 为什么用于导入订单的 Eslint 插件在 CRA 中不起作用?

javascript - PHP - 如何根据使用 javascript 生成的动态内容发布关系

javascript - 我可以为同一个 es lint 规则执行多个级别吗?例如 : error and warning for different paths