You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are very useful rule strict-boolean-expressions in typescript-eslint.
If there are no possible ways to use it in vue templates, maybe we can implement a vue analog for this rule?
What category should the rule belong to?
[x] Enforces code style (layout)
[ ] Warns about a potential error (problem)
[ ] Suggests an alternate way of doing something (suggestion)
[ ] Other (please specify:)
Provide 2-3 code examples that this rule should warn about:
Just for example for string expression:
// Will be incorrect ❌
<divv-if="someEmptyString"
/>
// Will be correct ✅
<div
v-if="someEmptyString !== ''"
/>
changed the title [-]Analog for `strict-boolean-expressions` typescript-eslint rule[/-][+]Rule Proposal: Analog for `strict-boolean-expressions` typescript-eslint rule[/+]on May 5, 2023
Have been wondering if the fact @typescript-eslint/strict-boolean-expressions is only working inside <script> tags and not templates is a bug.
It comes as a surprise to me that v-if parsing and if parsing are not handled the same, I would think they are the same syntax nodes in AST and that this rule would work out of the box.
Activity
[-]Analog for `strict-boolean-expressions` typescript-eslint rule[/-][+]Rule Proposal: Analog for `strict-boolean-expressions` typescript-eslint rule[/+]juliusfriedman commentedon Jul 27, 2025
Have been wondering if the fact
@typescript-eslint/strict-boolean-expressions
is only working inside<script>
tags and not templates is a bug.It comes as a surprise to me that
v-if
parsing andif
parsing are not handled the same, I would think they are the same syntax nodes in AST and that this rule would work out of the box.waynzh commentedon Aug 8, 2025
Exactly. Since the Node types in the
<template>
are different, similar functionality needs to be implemented to make it work.