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: 9.27.0
- eslint-plugin-vue version: 10.1.0
- Vue version: 3.5.15
- Node version: 24.1
- Operating System: Windows 11
Please show your full configuration:
import antfu from "@antfu/eslint-config";
export default antfu({
stylistic: {
quotes: "double",
semi: true
},
typescript: {
overridesTypeAware: {
"ts/consistent-type-imports": "error",
"ts/consistent-type-exports": "error",
"ts/require-await": "error",
"ts/return-await": "error",
"ts/prefer-optional-chain": "error",
"ts/prefer-nullish-coalescing": "error",
"ts/no-redundant-type-constituents": "error",
"ts/no-unnecessary-boolean-literal-compare": "error",
"ts/no-unnecessary-condition": "error",
"ts/no-unnecessary-type-arguments": "error",
"ts/no-unnecessary-template-expression": "error",
"ts/no-unnecessary-type-parameters": "error",
"ts/non-nullable-type-assertion-style": "error"
},
overrides: {
"ts/consistent-type-definitions": "off",
"ts/no-unused-vars": [
"error",
{
args: "all",
argsIgnorePattern: "^_",
caughtErrors: "all",
caughtErrorsIgnorePattern: "^_",
destructuredArrayIgnorePattern: "^_",
varsIgnorePattern: "^_",
ignoreRestSiblings: true
}
],
"ts/no-explicit-any": "warn",
"ts/array-type": "error",
"ts/consistent-indexed-object-style": "error",
"ts/consistent-type-assertions": "error",
"ts/no-unnecessary-parameter-property-assignment": "error"
}
},
vue: {
a11y: true,
overrides: {
"vue/define-props-destructuring": "error",
"vue/define-props-declaration": "error",
"vue/define-emits-declaration": ["error", "type-literal"],
"vue/no-unused-emit-declarations": "error",
"vue/html-button-has-type": "error",
"vue/prefer-use-template-ref": "error",
"vue/require-explicit-slots": "error",
"vue/multi-word-component-names": "warn",
"vue/component-api-style": ["error", ["script-setup"]],
"vue/html-self-closing": ["error", { html: { void: "never", normal: "never", component: "always" } }],
"vue/custom-event-name-casing": ["error", "camelCase", {
ignores: ["/^[a-z][a-zA-Z]*(?:-[a-z][a-zA-Z]*)*:[a-z][a-zA-Z]*(?:-[a-z][a-zA-Z]*)*$/u"]
}]
}
}
}, {
rules: {
"style/linebreak-style": ["error", "windows"],
"style/comma-dangle": ["error", "never"],
"style/brace-style": ["error", "1tbs", { allowSingleLine: false }],
"style/member-delimiter-style": ["error", { multiline: { delimiter: "semi" } }]
}
});
What did you do?
const { foo } = defineProps<{
foo: string;
bar: string;
}>();
<p v-if="bar === 'test'">
...
</p>
What did you expect to happen?
I expect to get an error because I use a prop that is not being destructured.
What actually happened?
No error
Repository to reproduce this issue
See HelloWorld.Vue:
https://github.com/blouflashdb/vue-project
Metadata
Metadata
Assignees
Labels
No labels