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
,scope
andslot-scope
attributes 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
style
attributes 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