问题描述
我正在尝试将 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 (将#修改为@)