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
}
}
Ενημέρωση
Να τι συμβαίνει όταν αιωρούμαι χωρίς τις παρενθέσεις.
Απάντηση #1
Είναι το Prettier που τα προσθέτει και δεν μπορεί να απενεργοποιηθεί. Δείτε https://github.com/prettier/prettier/issues/12554
Το Prettier συνήθιζε να τυπώνει όσο το δυνατόν λιγότερες παρενθέσεις, μετά άλλαξε και άρχισε να τυπώνει μερικές επιπλέον για ευανάγνωστοτητα. Δείτε το πολύ μεγάλο #187 για την πλήρη ιστορία.
Στο νήμα dprint προτείνεται ως εναλλακτική του Prettier. Η υποβάθμιση του Prettier στην έκδοση του 2017 θα μπορούσε επίσης να είναι μια επιλογή. Ή ίσως υπάρχει ένα ενεργό fork του Prettier που δεν προσθέτει τις παρένθεσεις.
