javascript - آیا ممکن است قانون ESLint/Prettier که پرانتز اضافه میکند را غیرفعال کرد؟
اگر من بنویسم:
const a = 1;
const b = 1;
const c = 1;
const d = 1;
const t = a * b * (c + d) / 100;
سپس بعضی قوانین میخواهند به این تغییر دهند:
const t = (a * b * (c + d)) / 100;
// ^ ^ unwanted parentheses
من نمیخواهم پرانتزهای اضافی وجود داشته باشند، اما نمیتوانم تشخیص دهم که آیا این ESLint است یا Prettier که آنها را اضافه میکند. .eslintrc من در زیر اضافه شده است:
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.json"]
},
"plugins": ["@typescript-eslint", "prettier"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
"rules": {
"no-console": 1,
"prettier/prettier": 2,
"no-case-declarations": 0,
"no-extra-parens": 2,
"@typescript-eslint/no-extra-parens": 2
},
"env": {
"browser": true,
"node": true
}
}
بهروزرسانی
این اتفاق میافتد وقتی بدون پرانتز ها نگه میدارم.
پاسخ شماره ۱
این Prettier است که آنها را اضافه میکند و نمیتوان آن را غیرفعال کرد. ببینید https://github.com/prettier/prettier/issues/12554
پرِتیِر قبلاً سعی میکرد کمترین تعداد پرانتز ممکن را چاپ کند، سپس به چاپ برخی پرانتزهای اضافی برای خوانایی تغییر حالت داد. برای داستان کامل، به مورد بسیار طولانی #۱۸۷ مراجعه کنید.
در این موضوع dprint بهعنوان جایگزینی برای Prettier پیشنهاد شده است. کاهش نسخه Prettier به نسخه ۲۰۱۷ نیز میتواند یک گزینه باشد. یا شاید یک شاخه فعال از Prettier وجود داشته باشد که پرانتزها را اضافه نکند.
