{"version":3,"file":"jsdocTags.mjs","sources":["../../src/helpers/jsdoc_tags.ts"],"sourcesContent":["/**\n * @module @nhtio/eslint-config/helpers/jsdocTags\n */\n\nimport type { FlatConfig } from '@typescript-eslint/utils/ts-eslint'\n\nconst TYPEDOC_DEFINED_TAGS = [\n  'category',\n  'categoryDescription',\n  'showCategories',\n  'hideCategories',\n  'default',\n  'document',\n  'expandType',\n  'group',\n  'groupDescription',\n  'showGroups',\n  'hideGroups',\n  'disableGroups',\n  'import',\n  'inlineType',\n  'license',\n  'mergeModuleWith',\n  'module',\n  'this',\n  'preventExpand',\n  'preventInline',\n  'property',\n  'prop',\n  'summary',\n  'template',\n  'typeParam',\n  'yields',\n  'jsx',\n  'typedef',\n  'extends',\n  'augments',\n  'satisfies',\n  'callback',\n  'abstract',\n  'alpha',\n  'beta',\n  'class',\n  'enum',\n  'event',\n  'eventProperty',\n  'expand',\n  'experimental',\n  'function',\n  'hidden',\n  'hideconstructor',\n  'ignore',\n  'inline',\n  'interface',\n  'internal',\n  'namespace',\n  'overload',\n  'override',\n  'packageDocumentation',\n  'primaryExport',\n  'private',\n  'protected',\n  'public',\n  'readonly',\n  'sealed',\n  'useDeclaredType',\n  'virtual',\n  'include',\n  'includeCode',\n  'inheritDoc',\n  'label',\n  'link',\n  'linkcode',\n  'linkplain',\n  'tip',\n]\n\n/**\n * Returns a partial ESLint flat config block that extends the allowed JSDoc tag list\n * beyond the built-in TypeDoc/TSDoc set.\n *\n * Use this when your project uses custom TypeDoc tags (e.g. `@myCustomTag`) that are\n * not part of the standard TypeDoc tag vocabulary. Add the returned config to your\n * `configure()` call to suppress `jsdoc/check-tag-names` false positives.\n *\n * @example\n * ```ts\n * import { configure, withCustomJsdocTags } from '@nhtio/eslint-config'\n * export default configure(withCustomJsdocTags(['myCustomTag', 'internal']))\n * ```\n *\n * @param tags - Array of custom tag names to allow (without the leading `@`)\n * @returns A partial ESLint flat config block that overrides `jsdoc/check-tag-names`\n */\nexport function withCustomJsdocTags(tags: string[]): FlatConfig.Config {\n  return {\n    rules: {\n      'jsdoc/check-tag-names': [\n        'error',\n        {\n          definedTags: [...TYPEDOC_DEFINED_TAGS, ...tags],\n        },\n      ],\n    },\n  }\n}\n"],"names":["TYPEDOC_DEFINED_TAGS","withCustomJsdocTags","tags"],"mappings":"AAMA,MAAMA,IAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAmBO,SAASC,EAAoBC,GAAmC;AACrE,SAAO;AAAA,IACL,OAAO;AAAA,MACL,yBAAyB;AAAA,QACvB;AAAA,QACA;AAAA,UACE,aAAa,CAAC,GAAGF,GAAsB,GAAGE,CAAI;AAAA,QAAA;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAEJ;"}