Skip to content

Latest commit

 

History

History
144 lines (106 loc) · 2.44 KB

require-prop-comment.md

File metadata and controls

144 lines (106 loc) · 2.44 KB
pageClass sidebarDepth title description
rule-details
0
vue/require-prop-comment
require props to have a comment

vue/require-prop-comment

require props to have a comment

  • This rule has not been released yet.

📖 Rule Details

This rule enforces that every prop has a comment that documents it.

<script>
export default defineComponent({
  props: {
    // ✓ GOOD

    /** JSDoc comment */
    a: Number,

    // ✗ BAD

    // line comment
    b: Number,

    /* block comment */
    c: Number,

    d: Number,
  }
})
</script>

🔧 Options

{
  "vue/require-prop-comment": ["error", {
    "type": "JSDoc"
  }]
}
  • type ... Type of comment. Default is "JSDoc"
    • "JSDoc" ... Only JSDoc comment are allowed.
    • "line" ... Only line comment are allowed.
    • "block" ... Only block comment are allowed.
    • "any" ... All comment types are allowed.

"type": "block"

<script setup>
// ✓ GOOD
const goodProps = defineProps({
  /* block comment */
  a: Number,
})

// ✗ BAD
const badProps = defineProps({
  /** JSDoc comment */
  b: Number,

  // line comment
  c: Number,

  d: Number,
})
</script>

"type": "line"

<script setup>
// ✓ GOOD
const goodProps = defineProps({
  // line comment
  a: Number,
})

// ✗ BAD
const badProps = defineProps({
  /** JSDoc comment */
  b: Number,

  /* block comment */
  c: Number,

  d: Number,
})
</script>

"type": "any"

<script setup>
// ✓ GOOD
const goodProps = defineProps({
  /** JSDoc comment */
  a: Number,

  /* block comment */
  b: Number,

  // line comment
  c: Number,
})

// ✗ BAD
const badProps = defineProps({
  d: Number,
})
</script>

🔍 Implementation