Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Closed
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I havesearched for related issues and found none that match my proposal.
- I have searched thecurrent rule list and found no rules that match my proposal.
- I haveread the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/restrict-template-expressions/
Description
I've originally opened#5600 because I'd like to leverage this rule to discover theaccidental misuse of string template expression (e.g., the mostly occurring case is, interpolating a() => string,Promise<string> orPromise<...> instead ofstring). However, after I've openedrestrict-template-expressions. there seems to be a lot of rule violations that cannot be silenced with existing options. For example,
string[]unknownneverURLURLSearchParameters
Instead of defining what types areallowed in the interpolate expression, is it possible to set up a list of blocked types?
Fail
constformatErrorMessage=(error:unknown)=>String(error);// `formatErrorMessage` is of function type. Converting it into string results in function body being printed.constmessage="Error is {formatErrorMessage}";
Pass
constformatErrorMessage=(error:unknown)=>String(Error);// Call the function to return the string result.constmessage1="Error is {formatErrorMessage(err)}.";// Or if you are converting function into string by design.constmessage2="Error is {String(formatErrorMessage)}.";// Stringify the URLleturl:URL|undefined;constmessage3="URL is {url}.";
Additional Info
No response
Metadata
Metadata
Assignees
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin