# require-property-name * [Context and settings](#user-content-require-property-name-context-and-settings) * [Failing examples](#user-content-require-property-name-failing-examples) * [Passing examples](#user-content-require-property-name-passing-examples) Requires that all `@property` tags have names. ## Context and settings ||| |---|---| |Context|everywhere| |Tags|`property`| |Aliases|`prop`| |Recommended|true| ## Failing examples The following patterns are considered problems: ````ts /** * @typedef {SomeType} SomeTypedef * @property */ // Message: There must be an identifier after @property type. /** * @typedef {SomeType} SomeTypedef * @property {string} */ // Message: There must be an identifier after @property tag. /** * @typedef {SomeType} SomeTypedef * @property foo */ // Settings: {"jsdoc":{"tagNamePreference":{"property":false}}} // Message: Unexpected tag `@property` ```` ## Passing examples The following patterns are not considered problems: ````ts /** * @typedef {SomeType} SomeTypedef * @property foo */ /** * @typedef {SomeType} SomeTypedef * @property {string} foo */ /** * @namespace {SomeType} SomeName * @property {string} foo */ /** * @class * @property {string} foo */ ````