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(eslint-plugin): [no-type-alias] allowTemplateLiterals #5097
feat(eslint-plugin): [no-type-alias] allowTemplateLiterals #5097
Conversation
Thanks for the PR, @jasperwreed! 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. As a thank you, your profile/company logo will be added to our main README which receives thousands of unique visitors per day. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
Codecov Report
@@ Coverage Diff @@
## main #5097 +/- ##
==========================================
+ Coverage 91.32% 93.83% +2.50%
==========================================
Files 132 286 +154
Lines 1487 9841 +8354
Branches 224 2940 +2716
==========================================
+ Hits 1358 9234 +7876
- Misses 65 328 +263
- Partials 64 279 +215
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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.
Code structure looks great, just requesting a design change (or repudiation of me being wrong)? 🙂
@@ -600,6 +601,61 @@ type Foo = Partial<Bar>; | |||
type Foo = Omit<Bar, 'a' | 'b'>; | |||
``` | |||
|
|||
### `allowTemplateLiterals` |
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 should mention that the option falls back to the value for allowAliases
. That's what I would expect.
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.
Starting a new thread: let's make sure the existing behavior is preserved?
{ | ||
code: 'type Foo = `a-${number}` | (`b-${number}` & `c-${number}`);', | ||
options: [{ allowAliases: 'in-unions-and-intersections' }], | ||
}, |
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.
Could you add these test cases back in, please? This shouldn't be a breaking change PR. They should still be valid code.
👋 Just checking in @jasperwreed, is this PR still something you have the time to work on? No worries if not, just making sure the issue isn't blocked. 😄 |
PR Checklist
Overview
This PR adds a configuration option
allowTemplateLiterals
that users can utilize to regulate template literals.Fail
Pass