StandardJS + extra linting inside <template>
- StandardJS-like linting is now applied on all JS code inside
<template>(linting was only done on the HTML, not the JS bits) - Component names must match their file names (vue/match-component-file-name)
- Component names must use PascalCase (vue/component-definition-name-casing and vue/component-name-in-template-casing)
- Components cannot be named after existing HTML or SVG tags (vue/no-reserved-component-names)
- The
slot,scopeandslot-scopeattributes are deprecated since Vue.js 2.6.0+ and linting rules forbid them (vue/no-deprecated-scope-attribute, vue/no-deprecated-slot-attribute, vue/no-deprecated-slot-scope-attribute) - Use the long form
v-slot:default="..."instead of#default="..."to be more explicit (vue/v-slot-style) - Static
styleattributes that can be replaced by CSS classes are forbidden—use CSS classes instead (vue/no-static-inline-styles) -
<template>,<script>and<style>must be separated by an empty line (vue/padding-line-between-blocks) - Function calls without arguments must not use parentheses:
v-on:click="something"instead ofv-on:click="something()"(vue/v-on-function-call)
Edited by Erwan Rouchet