Skip to main content

Vue project

Setting up Markuplint for a Vue project.

What you need

Install Markuplint with the Vue parser and Vue spec:

npm install -D markuplint @markuplint/vue-parser @markuplint/vue-spec

Configuration

.markuplintrc
{
"extends": ["markuplint:recommended-vue"],
"parser": {
"\\.vue$": "@markuplint/vue-parser"
},
"specs": {
"\\.vue$": "@markuplint/vue-spec"
}
}

This configuration:

  • Applies the recommended-vue preset (includes all base presets + Vue-specific rules like no-hard-code-id)
  • Parses .vue files with the Vue parser
  • Recognizes Vue-specific attributes and directives (v-if, v-for, :key, @click, etc.) via the Vue spec

With Pretenders

If you want Markuplint to validate your custom components as if they were native HTML elements, add the Pretenders configuration. We recommend using automatic scanning — it discovers component-to-element mappings from your source files, so you don't need to maintain them manually:

.markuplintrc
{
"extends": ["markuplint:recommended-vue"],
"parser": {
"\\.vue$": "@markuplint/vue-parser"
},
"specs": {
"\\.vue$": "@markuplint/vue-spec"
},
"pretenders": {
"scan": [
{
"files": "./src/components/**/*.vue"
}
]
}
}
tip

The scan feature was introduced in v5. It replaces the need to manually list every component mapping — just point it at your component directory and Markuplint handles the rest.