Skip to content
On this page

vue/attribute-hyphenation

enforce attribute naming style on custom components in template

  • ⚙️ This rule is included in all of "plugin:vue/vue3-strongly-recommended", "plugin:vue/strongly-recommended", "plugin:vue/vue3-recommended" and "plugin:vue/recommended".
  • 🔧 The --fix option on the command line can automatically fix some of the problems reported by this rule.

📖 Rule Details

This rule enforces using hyphenated attribute names on custom components in Vue templates.

Now loading...

🔧 Options

json
{
  "vue/attribute-hyphenation": ["error", "always" | "never", {
    "ignore": []
  }]
}

Default casing is set to always. By default the following attributes are ignored: data-, aria-, slot-scope, and all the SVG attributes with either an upper case letter or an hyphen.

  • "always" (default) ... Use hyphenated name.
  • "never" ... Don't use hyphenated name except the ones that are ignored.
  • "ignore" ... Array of ignored names

"always"

It errors on upper case letters.

Now loading...

"never"

It errors on hyphens except on the attributes in the ignored attributes list.

Now loading...

"never", { "ignore": ["custom-prop"] }

Don't use hyphenated name but allow custom attributes

Now loading...

🚀 Version

This rule was introduced in eslint-plugin-vue v3.9.0

🔍 Implementation