Why does ESLint throw an error?

Here is the line in question:
// Declare a flexible variable for converting Celsius to Fahrenheit

let fahrenheit = celsius * (9 / 5) + 32;

The syntax looks good and the file runs properly.

Because ESLint is overly picky about style. I’d just disable that inspection.

if disabling eslint rules is not an option, you should just read the docs, by what they provide, you should add extra parentheses
my guess would be like this (?)…maybe
let fahrenheit = (celsius * (9 / 5)) + 32;

The rule is there to help you avoid making mathematical operator precedence errors – the multiply operation will happen before the plus operation. In this case, that’s fine, but it’s telling you to be explicit and use brackets so that if that wasn’t what you wanted, you’d avoid an error.

You mean just stop using ESLint, or go into it’s config file and remove that particular inspection of mixed operators ?

I don’t see where it suggests to use brackets. do you mean if I looked at ESLints docs for that error it would say it there ?

I tried this and the new error was that it didn’t like the extra (), so I did --fix and it went right back to the same error.

I meant disable the warning in your config. ESLint is useful, you just don’t necessarily need all the warnings enabled if they’re not relevant to you. I do suggest disabling inspections per-line with the magic comment syntax before disabling them in config.

Yes, what you’ve written is ambiguous, the error is telling you to make it less ambiguous:

This rule may conflict with no-extra-parens rule. If you use both this and no-extra-parens rule together, you need to use the nestedBinaryExpressions option of no-extra-parens rule.

As @chuckadams says, probably remove the rule. You seem to have very strict rules set up: if you want to keep them in, and you want them to error and prevent compilation, then do read the documentation carefully.

I just wish the messages ESLint gives would be ‘warnings’ and not necessarily ‘errors’. errors suggests that your code is wrong by all accounts and will not run, and / or your code is fragile and to proceed with caution.

What linter to use to cover the basic / minimal best practice JS rules ?

ESlint, probably just use the AirBnB set of presets. ESlint is designed to be as lax or as strict as you want

It specifically does do this, you just happen to have it set up to error on everything instead of warn (or ignore)

I don’t know what rules to set to warnings, to off, to error… or whatever flag. sure I have access to the config file, but not sure how to config it just right. there are dozens of rules in there.