Open
Description
Checklist
- I have tried restarting my IDE and the issue persists.
- I have read the FAQ and my problem is not listed.
Tell us about your environment
- ESLint version: 8.50.0
- eslint-plugin-vue version: 9.15.1
- Node version: 18.13.0
- Operating System: macOS
Please show your full configuration:
module.exports = {
extends: ['../../../.eslintrc.js', 'plugin:storybook/recommended'],
root: true,
env: {
node: true,
browser: true
},
overrides: [
{
files: ['*.ts', '*.tsx', '*.vue'],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
project: './tsconfig.json',
extraFileExtensions: ['.vue']
},
globals: {
definePageMeta: 'readonly',
$fetch: 'readonly',
Stripe: 'readonly'
},
rules: {
/**
* This has unexpected behavior when used with other TS settings which produce
* unexpected undefines, such as a map.get after testing for map.has
*/
'@typescript-eslint/no-non-null-assertion': 'off'
}
},
{
files: ['**/pages/**/*.vue'],
rules: {
/**
* Even though this is allowed in Vue3,
* both Nuxt and Knockout need a single
* root element.
*/
'vue/no-multiple-template-root': 'error'
}
}
]
}
What did you do?
<template>
<!-- this is a comment -->
<div></div>
</template>
IMPORTANT CONTEXT: the Vue compiler has comments: true
turned on (as a necessity). What this means is that the root template in this mode actually has multiple roots, including a blank text node, a comment node, and the div. I want to prevent developers from making this mistake, so I need a way to flag this as an error.
What did you expect to happen?
I expected an ESLint error when there are multiple possible roots.
What actually happened?
There is no error, hence no output.
Repository to reproduce this issue
https://stackblitz.com/edit/vitejs-vite-mhdbqk?file=src%2FApp.vue