gajus/eslint-plugin-jsdoc

check-tag-names: autofix @prop tags onto props if they exist?

開放

#1,054 建立於 2023年4月27日

 (0 則留言) (1 個反應) (0 位負責人)JavaScript (176 個分叉)github user discovery
enhancementhelp wanted

倉庫指標

星標
 (1,227 顆星)
PR 合併指標
 (平均合併 2天 8小時) (30 天內合併 10 個 PR)

描述

Motivation

From https://github.com/DefinitelyTyped/DefinitelyTyped/pull/65080/files#r1162947538: sometimes we see JSDoc @prop comments on an object that really should be on individual properties of the object. For example:

/**
 * @prop BASIC - icon, title, message, expandedMessage, up to two buttons.
 * @prop IMAGE - icon, title, message, expandedMessage, image, up to two buttons.
 */
declare const TemplateType: {
    BASIC: 'basic',
    IMAGE: 'image',
}

Current behavior

Right now check-tag-names only knows to fix this by removing @prop:

/**
- * @prop BASIC - icon, title, message, expandedMessage, up to two buttons.
- * @prop IMAGE - icon, title, message, expandedMessage, image, up to two buttons.
+ * BASIC - icon, title, message, expandedMessage, up to two buttons.
+ * IMAGE - icon, title, message, expandedMessage, image, up to two buttons.
 */
declare const TemplateType: {
    BASIC: 'basic',
    IMAGE: 'image',
}

Desired behavior

It'd be nice in situations where the prop name matches the @prop tag to move the comment onto the property itself:

/**
- * @prop BASIC - icon, title, message, expandedMessage, up to two buttons.
- * @prop IMAGE - icon, title, message, expandedMessage, image, up to two buttons.
 */
declare const TemplateType: {
+    /** 
+	  * icon, title, message, expandedMessage, up to two buttons.
+	  */
    BASIC: 'basic',

+    /** 
+	  * icon, title, message, expandedMessage, image, up to two buttons.
+	  */
    IMAGE: 'image',
}

Alternatives considered

Honestly this feels pretty low priority to me. The "before" pattern mentioned here is not very common. But it'd be cool to see this happen, maybe? 🤷

貢獻者指南