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
Update: fix quotes false negative for string literals as template tags #8107
Conversation
@not-an-aardvark, thanks for your PR! By analyzing the history of the files in this pull request, we identified @mysticatea, @nzakas and @vitorbal to be potential reviewers. |
LGTM |
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.
LGTM.
Though, I'm not sure if this is needed since the expression would always throw a run-time error.
That's true, but I suppose it's still better for the rule to be correct here. Now I'm imagining this as a minification strategy 😄: function foo() {
throw new TypeError('not implemented yet');
}
// ->
function foo(){
````
} |
@mysticatea and @not-an-aardvark are we good with this? Also this is a bug fix right? |
This has a very slight potential in resulting in more errors, I think. That's why it's marked as an update. |
What is the purpose of this pull request? (put an "X" next to item)
[x] Bug fix
Tell us about your environment
What parser (default, Babel-ESLint, etc.) are you using?
default
Please show your full configuration:
What did you do? Please include the actual source code causing the issue.
I absentmindedly spammed
`
while working on something else, and I ended up with something like this:This is a tagged template literal, where the tag is the first
``
and the quasi is the second``
.What did you expect to happen?
I expected the first
``
to be reported, since it can be in double quotes. Only the second``
needs to be a template literal.What actually happened? Please include the actual, raw output from ESLint.
No errors were reported.
What changes did you make? (Give an overview)
This fixes a tagged template check in
quotes
. Since the "literal" of a tagged template literal can't be converted to single/double quotes (e.g.foo`bar`
), the rule currently ignores template literals that have aTaggedTemplateLiteral
parent. However, it should only ignore these if the template literal is actually thequasi
if the parent -- an error should still be reported if the template literal is thetag
of the parent.Is there anything you'd like reviewers to focus on?
Nothing in particular