Before You File a Bug Report Please Confirm You Have Done The Following...
Playground Link
https://typescript-eslint.io/play/#ts=6.0.3&fileType=.tsx&code=GYVwdgxgLglg9mABHEUCmAnAFASkQbwChFEIEBnKRAITjgBs0BDJAXkSwA8AuRcAazBwA7mDysAfIk4BuQsUQY0UEBiRYmvShhhgA5ogA%2BiMCHr0ANIgBGWqDv3iptBszAajx6zjkBfIA&eslintrc=N4KABGBEAOCGBOBnApvSAuKABALgT2mUQGN4BLaHAWiIBsyA7HAejiVUgBpwo2V4A8pTIB7BogxhQECDHgiAVsmI5JkAHTMcJMQDMyAc3ULEYyDwC%2B3WfACutIpOkzIuAkVIVqdRi2jxkXVQqBnt6RAALKmIRWAcSRgNJAG0eGShUeTRrdKkwNNzIQwYRAIAhEREHWAYAYRFUYlEGSRw7ZAKICwKAXUsQbpAgA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
Repro Code
function outer() {
const Boolean = (x: unknown) => x;
return (a: string | null, b: string) => Boolean(a || b);
}
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
parserOptions: {
project: "./tsconfig.json",
},
rules: {
"@typescript-eslint/prefer-nullish-coalescing": ["error", { ignoreBooleanCoercion: true }],
},
};
tsconfig
Expected Result
a || b should be flagged (suggesting a ?? b). The wrapping Boolean is a local function, not the global Boolean, so ignoreBooleanCoercion shouldn't apply here.
Actual Result
no error
Additional Info
No response
Before You File a Bug Report Please Confirm You Have Done The Following...
Playground Link
https://typescript-eslint.io/play/#ts=6.0.3&fileType=.tsx&code=GYVwdgxgLglg9mABHEUCmAnAFASkQbwChFEIEBnKRAITjgBs0BDJAXkSwA8AuRcAazBwA7mDysAfIk4BuQsUQY0UEBiRYmvShhhgA5ogA%2BiMCHr0ANIgBGWqDv3iptBszAajx6zjkBfIA&eslintrc=N4KABGBEAOCGBOBnApvSAuKABALgT2mUQGN4BLaHAWiIBsyA7HAejiVUgBpwo2V4A8pTIB7BogxhQECDHgiAVsmI5JkAHTMcJMQDMyAc3ULEYyDwC%2B3WfACutIpOkzIuAkVIVqdRi2jxkXVQqBnt6RAALKmIRWAcSRgNJAG0eGShUeTRrdKkwNNzIQwYRAIAhEREHWAYAYRFUYlEGSRw7ZAKICwKAXUsQbpAgA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
Repro Code
ESLint Config
tsconfig
{ "compilerOptions": { "strict": true } }Expected Result
a || bshould be flagged (suggestinga ?? b). The wrappingBooleanis a local function, not the globalBoolean, soignoreBooleanCoercionshouldn't apply here.Actual Result
no error
Additional Info
No response