# vue/block-lang

disallow use other than available lang

# 📖 Rule Details

This rule disallows the use of languages other than those available in the your application for the lang attribute of block elements.

# 🔧 Options

  "vue/block-lang": ["error",
      "script": {
        "lang": "ts"
<!-- ✓ GOOD --> <script lang="ts"> </script>
Now loading...
<!-- ✗ BAD --> <script> </script>
Now loading...

Specify the block name for the key of the option object.
You can use the object as a value and use the following properties:

  • lang ... Specifies the available value for the lang attribute of the block. If multiple languages are available, specify them as an array. If you do not specify it, will disallow any language.
  • allowNoLang ... If true, allows the lang attribute not to be specified (allows the use of the default language of block).


If the default language is specified for lang option of <template>, <style> and <script>, it will be enforced to not specify lang attribute.
This is to prevent unintended problems with Vetur (opens new window).

See also Vetur - Syntax Highlighting (opens new window).

# { script: { lang: 'js' } }

Same as { script: { allowNoLang: true } }.

<!-- ✓ GOOD --> <script> </script>
Now loading...
<!-- ✗ BAD --> <script lang="js"> </script>
Now loading...

# 🚀 Version

This rule was introduced in eslint-plugin-vue v7.15.0

# 🔍 Implementation