typescript-eslint / typescript-eslint

:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript
https://typescript-eslint.io
Other
15.26k stars 2.73k forks source link

Bug: [no-unnecessary-template-expression] should report unnecessary template string in type context #9971

Open kirkwaiblinger opened 1 month ago

kirkwaiblinger commented 1 month ago

Before You File a Bug Report Please Confirm You Have Done The Following...

Playground Link

https://typescript-eslint.io/play/#ts=4.8.4&fileType=.tsx&code=C4TwDgpgBMELZgDYENYGVgCcCWA7A5gCrjQC8UABgGbIAkA3gOQqMC%2BVEiFA3EA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQAIBcBPABxQGNoBLY-AWhXkoDt8B6Jge1tiacTJTIAhtEK18iALbF4QifQAexaIMocm6KAHcRG8GAC%2BIA0A&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false

Repro Code

type templateStringType = `fa${'la'}fel`;

ESLint Config

module.exports = {
  "rules": {
    "@typescript-eslint/no-unnecessary-template-expression": "warn"
  }
}

tsconfig

{
  "compilerOptions": {
    "strictNullChecks": true
  }
}

Expected Result

type templateStringType = `fa${'la'}fel'`
//                             ~~~~  [no-unnecessary-template-expression]: Template literal expression is unnecessary and can be simplified.

Actual Result

No error

Additional Info

No response

JoshuaKGoldberg commented 1 month ago

🧆