Review and enable new eslint-plugin-vue rules
The following discussion from gitlab-ce!21825 should be addressed:
-
@mikegreiling started a discussion: (+1 comment) These should be re-enabled in a follow-up MR after we have evaluated which rules we wish to adopt and how we'd like to configure them.
Disabling
v-htmlfor example is probably a good idea, but we currently use it in quite a few places where we insert formatted translation strings or svg nodes into our elements. Enabling this will require us to address a good deal of gitlab-ce~3011693
Recent updates to eslint-plugin-vue have added the following new recommended rules:
- vue/html-closing-bracket-newline
- vue/html-closing-bracket-spacing
- vue/no-unused-components
- vue/no-v-html
And it has also replaced vue/no-confusing-v-for-v-if with vue/no-use-v-if-with-v-for which, rather than enforcing the order of v-for and v-if, it outright bans the use of both of these within the same element.
I think the first three should be completely uncontroversial, but the ban on v-html may require some work to fix as we currently require it for embedding SVGs and for some locale strings that contain markup. See gitlab-ce#42402 and gitlab-ce#37850.