Skip to content

Latest commit

 

History

History
168 lines (132 loc) · 3.81 KB

padding-lines-in-component-definition.md

File metadata and controls

168 lines (132 loc) · 3.81 KB
pageClass sidebarDepth title description since
rule-details
0
vue/padding-lines-in-component-definition
require or disallow padding lines in component definition
v9.9.0

vue/padding-lines-in-component-definition

require or disallow padding lines in component definition

  • 🔧 The --fix option on the command line can automatically fix some of the problems reported by this rule.

📖 Rule Details

This rule requires or disallows blank lines in the component definition. Properly blank lines help developers improve code readability and code style flexibility.

<script>
/* ✗ BAD */
export default {
  props: {
    modelValue: {
      type: String,
      default: '',
    },
  },
  data() {
    return {
      count: 0,
    };
  }
}
</script>
<script>
/* ✓ GOOD */
export default {
  props: {
    modelValue: {
      type: String,
      default: '',
    },
  },

  data() {
    return {
      count: 0,
    };
  }
}
</script>

🔧 Options

{
  "vue/padding-lines-in-component-definition": ["error", {
    "betweenOptions": "always" | "never",

    "withinOption": {
      "props": {
        "betweenItems": "always" | "never" | "ignore",
        "withinEach": "always" | "never" | "ignore",
      } | "always" | "never" | "ignore", // shortcut to set both

      "data": {
        "betweenItems": "always" | "never" | "ignore",
        "withinEach": "always" | "never" | "ignore",
      } | "always" | "never" | "ignore" // shortcut to set both

      // ... all options
    } | "always" | "never" | "ignore",

    "groupSingleLineProperties": true | false
  }]
}
  • betweenOptions ... Setting padding lines between options. default always
  • withinOption ... Setting padding lines within option
    • emits ... Setting padding between lines between emits and defineEmits. default always
    • props ... Setting padding between lines between props and defineProps. default always
    • ...
  • groupSingleLineProperties ... Setting groupings of multiple consecutive single-line properties (e.g. name, inheritAttrs), default true

Group single-line properties

<script>
export default {
  name: 'GroupSingleLineProperties',
  inheritAttrs: false,

  props: {
    modelValue: {
      type: String,
      default: '',
    },
  },

  data() {
    return {
      count: 0,
    };
  }
}
</script>

With custom options

<script>
export default {
  props: {
    modelValue: {
      type: String,
      default: '',
    },

    isActive: {
      type: Boolean,
      default: false,
    },
  },

  customOption: {
    foo: () => {
      return 'foo'
    },

    bar: () => {
      return 'bar'
    }
  },
}
</script>

🚀 Version

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

🔍 Implementation