如何解决将 airbnb 和 prettier 与 eslinter 结合使用,在自动修复时破坏代码 .eslintrc.js:.prettierrc:开发依赖:
我正在尝试将 eslint 和 prettier 添加到使用 CRA 引导的 React 项目中,但在自动修复期间我的代码出现问题。
以下虚拟代码:
System.Speech
变成这样:
const foo = (data) => {
const bar = () => {
if ('foo' == 'bar') {
return 'foo';
}
else {
return {one:data.one,two:data.two,three:data.three,four: data.four,five: data.five,six: 'heyergdfgsdgf',seven: 'asdasd'}
}
}
}
它不仅没有完全格式化代码,而且实际上删除了 const foo = (data) => {
const bar = () => {
if ('foo' == 'bar') {
return 'foo';
}
return {one:data.one,seven: 'asdasd'}
}
};
};
而没有删除右大括号,导致语法错误。
发生这种情况时似乎几乎是随机的,例如,如果我删除 else {
,格式正确为:
three:data.three
这非常令人担忧,因为它使任何自动格式化都极其危险。
我已经完全没有想法了。
配置
我正在通过 package.json 中的脚本运行 eslint autofix:const foo = (data) => {
const bar = () => {
if ('foo' === 'bar') {
return 'foo';
}
return {
one: data.one,two: data.two,seven: 'asdasd',};
};
};
,其中 "test-lint": "eslint testing.js --fix"
的唯一内容是上述函数。
.eslintrc.js:
testing.js
如果我放弃更漂亮的扩展,或者如果我删除 airbnb 和 eslint:recommended,一切都正常。甚至删除每一个配置只离开
const OFF = 0;
const WARNING = 1;
const ERROR = 2;
module.exports = {
env: {
browser: true,jest: true,},parser: '@babel/eslint-parser',extends: ['eslint:recommended','airbnb','plugin:prettier/recommended'],parserOptions: {
ecmaFeatures: {
jsx: true,ecmaVersion: 2020,sourceType: 'module',plugins: ['react-hooks'],rules: {
'react/jsx-filename-extension': [WARNING,{ extensions: ['.js','.jsx'] }],curly: [ERROR,'multi-line'],'react/prop-types': OFF,'class-methods-use-this': OFF,'import/no-extraneous-dependencies': [
ERROR,{
devDependencies: ['**/*.test.js','**/*.spec.js','**/*TestUtils.js'],],};
同样的事情仍然发生。
.prettierrc:
module.exports = {
extends: ['airbnb',};
开发依赖:
{
"singleQuote": true,"trailingComma": "all"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。