eslint - 如何强制 Prettier 使用总是引用道具(并尊重我的 eslint 规则)?
问题描述
我设置了我.eslintrc
的规则"quote-props": [2, "always"]
。当我这样做时eslint --fix
,它会正常工作。
但我用 Prettier 格式化我的代码。不幸的是,Prettieralways
只有as-needed|preserve|consistent
. quote-props
所以结果总是当我用 Prettier 格式化时它会删除我的报价道具。
我怎样才能告诉 Prettier 尊重这条规则?添加// prettier-ignore
不是一种选择。
.eslintrc:
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
"prettier",
"prettier/react"
], // Prettier or Prettier Plugins (here for React) must always be at the end
"env": {
"cypress/globals": true,
"node": true,
"browser": true,
"es6": true
},
"plugins": ["react", "cypress", "prettier"],
"settings": {
"react": {
"createClass": "createClass",
// Regex for Component Factory to use, default to "createClass"
"pragma": "React",
// Pragma to use, default to "React"
"version": "16.13.1"
// React version, default to the latest React stable release
}
},
"parser": "babel-eslint",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 8,
"sourceType": "module"
},
"rules": {
"quote-props": [2, "always"]
...
.prettierrc:
module.exports = {
trailingComma: "none",
tabWidth: 4,
bracketSpacing: true,
arrowParens: "avoid"
};
解决方案
由于Prettier
不支持“always-quote-props”选项,但支持,我从我的-file 中eslint
删除了设置,并将我的quote-props 设置为.quote-props
.prettierrc
.eslintrc
["error", "always"]
最后我使用了 prettier-eslint:
这会通过 prettier 格式化您的代码,然后将结果传递给 eslint --fix。这样既可以享受 prettier 优越的格式化能力带来的好处,也可以受益于 eslint 的配置能力
推荐阅读
- spring - 如何使 DataJpaTest 刷新自动保存?
- reactjs - 反应复选框本地存储
- r - geom_smooth() 在 geom_point() 工作时不显示
- solr - 在 Drupal 7 上使用 Apache Solr 为搜索 API 配置 DDEV
- javascript - 我正在尝试保存并加载到本地存储,但我不断收到错误“未定义本地存储”
- c# - 在 C# 中删除 XML 序列化的 DefaultValue 属性
- excel - 如何仅使用 MIN-MAX 编写 excel 公式,而不使用 IF
- javascript - 如何将 React Native 中的状态保存到 Firebase
- python - Python / Discord:仅阻止某些人访问命令
- node.js - 为什么当我尝试在 expressjs 中下载文档时出现此错误“位置 0 的 JSON 中出现意外的令牌 %”