-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat: add allow
option for restrict-template-expressions
#8556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add allow
option for restrict-template-expressions
#8556
Conversation
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
…estrict-template-expressions
Thanks for the PR, @abrahamguo! typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community. The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately. Thanks again! 🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
…estrict-template-expressions-ignoredtypenames
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for sending this in - but would you be open to filing an issue? I think we'd want to discuss this a bit before landing it.
Also, just a couple preliminary review thoughts if it does land:
- Unit tests?
- I think we'd want to share the default value of
ignoredTypeNames
in a constant so it doesn't risk getting out of sync
Marking as a draft pending #8722's resolution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fantastic, great work @abrahamguo! Really clean implementation and I like the sharing of docs. Thanks!
I'll also want to wait on another review from @typescript-eslint/triage-team. The more we use the shared TypeOrValueSpecifier format the more review eyes we'll want on it.
IMO we should land this before #9875 and then I can adjust the docs there to fit this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since #9875 ended up landing first, some merge conflicts will need to be addressed. Ping for another review pass after that is completed?
…estrict-template-expressions-ignoredtypenames
Conflicts resolved and ready for re-review! I am not clear why the one test is failing. It works locally for me. |
It's from the CI job that runs tests with the project service enabled: typescript-eslint/.github/workflows/ci.yml Line 247 in 45b7d81
Copying the failure here:
You can directly test that file in |
…estrict-template-expressions-ignoredtypenames
Hmm, looks like setting |
I've worked around this by ensuring that (similar to the new examples in the docs page) the unit tests only refer to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✨
@@ -85,7 +85,7 @@ const msg2 = `arg = ${arg || 'not truthy'}`; | |||
|
|||
### `allowAny` | |||
|
|||
Whether to `any` typed values in template expressions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lol
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Peachy keen!
PR Checklist
Overview
Building on the work from #8389, which @JoshuaKGoldberg has been reviewing, this PR ports the
ignoredTypeNames
option fromno-base-to-string
intorestrict-template-expressions
. I'm open to further discussion about this, as this update definitely blurs the line between the two rules.