{"version":3,"file":"index.cjs","names":["checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTemplateNames","checkTypes","checkValues","convertToJsdocComments","emptyTags","escapeInlineTags","implementsOnClasses","importsAsDependencies","informativeDocs","linesBeforeBlock","matchDescription","matchName","multilineBlocks","noBadBlocks","noBlankBlockDescriptions","noBlankBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","preferImportTag","buildRejectOrPreferRuleDefinition","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","buildForbidRuleDefinition","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireRejects","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireTags","requireTemplate","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","textEscaping","tsMethodSignatureStyle","tsNoEmptyObjectType","tsNoUnnecessaryTemplateExpression","tsPreferFunctionType","typeFormatting","validTypes","getJsdocProcessorPlugin","semver","ESLint","merge"],"sources":["../src/index.js"],"sourcesContent":["/* AUTO-GENERATED BY build SCRIPT */\n/* eslint-disable perfectionist/sort-imports -- For auto-generate; Do not remove */\nimport {\n  merge,\n} from 'object-deep-merge';\n\nimport {\n  buildForbidRuleDefinition,\n} from './buildForbidRuleDefinition.js';\nimport {\n  buildRejectOrPreferRuleDefinition,\n} from './buildRejectOrPreferRuleDefinition.js';\nimport {\n  getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\nimport checkAccess from './rules/checkAccess.js';\nimport checkAlignment from './rules/checkAlignment.js';\nimport checkExamples from './rules/checkExamples.js';\nimport checkIndentation from './rules/checkIndentation.js';\nimport checkLineAlignment from './rules/checkLineAlignment.js';\nimport checkParamNames from './rules/checkParamNames.js';\nimport checkPropertyNames from './rules/checkPropertyNames.js';\nimport checkSyntax from './rules/checkSyntax.js';\nimport checkTagNames from './rules/checkTagNames.js';\nimport checkTemplateNames from './rules/checkTemplateNames.js';\nimport checkTypes from './rules/checkTypes.js';\nimport checkValues from './rules/checkValues.js';\nimport convertToJsdocComments from './rules/convertToJsdocComments.js';\nimport emptyTags from './rules/emptyTags.js';\nimport escapeInlineTags from './rules/escapeInlineTags.js';\nimport implementsOnClasses from './rules/implementsOnClasses.js';\nimport importsAsDependencies from './rules/importsAsDependencies.js';\nimport informativeDocs from './rules/informativeDocs.js';\nimport linesBeforeBlock from './rules/linesBeforeBlock.js';\nimport matchDescription from './rules/matchDescription.js';\nimport matchName from './rules/matchName.js';\nimport multilineBlocks from './rules/multilineBlocks.js';\nimport noBadBlocks from './rules/noBadBlocks.js';\nimport noBlankBlockDescriptions from './rules/noBlankBlockDescriptions.js';\nimport noBlankBlocks from './rules/noBlankBlocks.js';\nimport noDefaults from './rules/noDefaults.js';\nimport noMissingSyntax from './rules/noMissingSyntax.js';\nimport noMultiAsterisks from './rules/noMultiAsterisks.js';\nimport noRestrictedSyntax from './rules/noRestrictedSyntax.js';\nimport noTypes from './rules/noTypes.js';\nimport noUndefinedTypes from './rules/noUndefinedTypes.js';\nimport preferImportTag from './rules/preferImportTag.js';\nimport requireAsteriskPrefix from './rules/requireAsteriskPrefix.js';\nimport requireDescription from './rules/requireDescription.js';\nimport requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence.js';\nimport requireExample from './rules/requireExample.js';\nimport requireFileOverview from './rules/requireFileOverview.js';\nimport requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription.js';\nimport requireJsdoc from './rules/requireJsdoc.js';\nimport requireParam from './rules/requireParam.js';\nimport requireParamDescription from './rules/requireParamDescription.js';\nimport requireParamName from './rules/requireParamName.js';\nimport requireParamType from './rules/requireParamType.js';\nimport requireProperty from './rules/requireProperty.js';\nimport requirePropertyDescription from './rules/requirePropertyDescription.js';\nimport requirePropertyName from './rules/requirePropertyName.js';\nimport requirePropertyType from './rules/requirePropertyType.js';\nimport requireRejects from './rules/requireRejects.js';\nimport requireReturns from './rules/requireReturns.js';\nimport requireReturnsCheck from './rules/requireReturnsCheck.js';\nimport requireReturnsDescription from './rules/requireReturnsDescription.js';\nimport requireReturnsType from './rules/requireReturnsType.js';\nimport requireTags from './rules/requireTags.js';\nimport requireTemplate from './rules/requireTemplate.js';\nimport requireThrows from './rules/requireThrows.js';\nimport requireYields from './rules/requireYields.js';\nimport requireYieldsCheck from './rules/requireYieldsCheck.js';\nimport sortTags from './rules/sortTags.js';\nimport tagLines from './rules/tagLines.js';\nimport textEscaping from './rules/textEscaping.js';\nimport tsMethodSignatureStyle from './rules/tsMethodSignatureStyle.js';\nimport tsNoEmptyObjectType from './rules/tsNoEmptyObjectType.js';\nimport tsNoUnnecessaryTemplateExpression from './rules/tsNoUnnecessaryTemplateExpression.js';\nimport tsPreferFunctionType from './rules/tsPreferFunctionType.js';\nimport typeFormatting from './rules/typeFormatting.js';\nimport validTypes from './rules/validTypes.js';\nimport {\n  ESLint,\n} from 'eslint';\nimport semver from 'semver';\n\n/**\n * @typedef {\"recommended\" | \"stylistic\" | \"contents\" | \"logical\" | \"requirements\"} ConfigGroups\n * @typedef {\"\" | \"-typescript\" | \"-typescript-flavor\"} ConfigVariants\n * @typedef {\"\" | \"-error\"} ErrorLevelVariants\n * @type {import('eslint').ESLint.Plugin & {\n *   configs: Record<\n *       `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\n *       import('eslint').Linter.Config\n *     > &\n *     Record<\n *       \"examples\"|\"default-expressions\"|\"examples-and-default-expressions\",\n *       import('eslint').Linter.Config[]\n *     > &\n *     Record<\"flat/recommended-mixed\", import('eslint').Linter.Config[]>\n * }}\n */\nconst index = {};\nindex.configs = {};\nindex.rules = {\n  'check-access': checkAccess,\n  'check-alignment': checkAlignment,\n  'check-examples': checkExamples,\n  'check-indentation': checkIndentation,\n  'check-line-alignment': checkLineAlignment,\n  'check-param-names': checkParamNames,\n  'check-property-names': checkPropertyNames,\n  'check-syntax': checkSyntax,\n  'check-tag-names': checkTagNames,\n  'check-template-names': checkTemplateNames,\n  'check-types': checkTypes,\n  'check-values': checkValues,\n  'convert-to-jsdoc-comments': convertToJsdocComments,\n  'empty-tags': emptyTags,\n  'escape-inline-tags': escapeInlineTags,\n  'implements-on-classes': implementsOnClasses,\n  'imports-as-dependencies': importsAsDependencies,\n  'informative-docs': informativeDocs,\n  'lines-before-block': linesBeforeBlock,\n  'match-description': matchDescription,\n  'match-name': matchName,\n  'multiline-blocks': multilineBlocks,\n  'no-bad-blocks': noBadBlocks,\n  'no-blank-block-descriptions': noBlankBlockDescriptions,\n  'no-blank-blocks': noBlankBlocks,\n  'no-defaults': noDefaults,\n  'no-missing-syntax': noMissingSyntax,\n  'no-multi-asterisks': noMultiAsterisks,\n  'no-restricted-syntax': noRestrictedSyntax,\n  'no-types': noTypes,\n  'no-undefined-types': noUndefinedTypes,\n  'prefer-import-tag': preferImportTag,\n  'reject-any-type': buildRejectOrPreferRuleDefinition({\n    description: 'Reports use of `any` or `*` type',\n    overrideSettings: {\n      '*': {\n        message: 'Prefer a more specific type to `*`',\n        replacement: false,\n        unifyParentAndChildTypeChecks: true,\n      },\n      any: {\n        message: 'Prefer a more specific type to `any`',\n        replacement: false,\n        unifyParentAndChildTypeChecks: true,\n      },\n    },\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header',\n  }),\n  'reject-function-type': buildRejectOrPreferRuleDefinition({\n    description: 'Reports use of `Function` type',\n    overrideSettings: {\n      Function: {\n        message: 'Prefer a more specific type to `Function`',\n        replacement: false,\n        unifyParentAndChildTypeChecks: true,\n      },\n    },\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header',\n  }),\n  'require-asterisk-prefix': requireAsteriskPrefix,\n  'require-description': requireDescription,\n  'require-description-complete-sentence': requireDescriptionCompleteSentence,\n  'require-example': requireExample,\n  'require-file-overview': requireFileOverview,\n  'require-hyphen-before-param-description': requireHyphenBeforeParamDescription,\n  'require-jsdoc': requireJsdoc,\n  'require-next-description': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([name!=\"\"]):not([description!=\"\"]))',\n        context: 'any',\n        message: '@next should have a description',\n      },\n    ],\n    description: 'Requires a description for `@next` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header',\n  }),\n  'require-next-type': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([parsedType.type]))',\n        context: 'any',\n        message: '@next should have a type',\n      },\n    ],\n    description: 'Requires a type for `@next` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header',\n  }),\n  'require-param': requireParam,\n  'require-param-description': requireParamDescription,\n  'require-param-name': requireParamName,\n  'require-param-type': requireParamType,\n  'require-property': requireProperty,\n  'require-property-description': requirePropertyDescription,\n  'require-property-name': requirePropertyName,\n  'require-property-type': requirePropertyType,\n  'require-rejects': requireRejects,\n  'require-returns': requireReturns,\n  'require-returns-check': requireReturnsCheck,\n  'require-returns-description': requireReturnsDescription,\n  'require-returns-type': requireReturnsType,\n  'require-tags': requireTags,\n  'require-template': requireTemplate,\n  'require-template-description': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=template]:not([description!=\"\"]))',\n        context: 'any',\n        message: '@template should have a description',\n      },\n    ],\n    description: 'Requires a description for `@template` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header',\n  }),\n  'require-throws': requireThrows,\n  'require-throws-description': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([description!=\"\"]))',\n        context: 'any',\n        message: '@throws should have a description',\n      },\n    ],\n    description: 'Requires a description for `@throws` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header',\n  }),\n  'require-throws-type': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([parsedType.type]))',\n        context: 'any',\n        message: '@throws should have a type',\n      },\n    ],\n    description: 'Requires a type for `@throws` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header',\n  }),\n  'require-yields': requireYields,\n  'require-yields-check': requireYieldsCheck,\n  'require-yields-description': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([name!=\"\"]):not([description!=\"\"]))',\n        context: 'any',\n        message: '@yields should have a description',\n      },\n    ],\n    description: 'Requires a description for `@yields` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header',\n  }),\n  'require-yields-type': buildForbidRuleDefinition({\n    contexts: [\n      {\n        comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([parsedType.type]))',\n        context: 'any',\n        message: '@yields should have a type',\n      },\n    ],\n    description: 'Requires a type for `@yields` tags',\n    url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header',\n  }),\n  'sort-tags': sortTags,\n  'tag-lines': tagLines,\n  'text-escaping': textEscaping,\n  'ts-method-signature-style': tsMethodSignatureStyle,\n  'ts-no-empty-object-type': tsNoEmptyObjectType,\n  'ts-no-unnecessary-template-expression': tsNoUnnecessaryTemplateExpression,\n  'ts-prefer-function-type': tsPreferFunctionType,\n  'type-formatting': typeFormatting,\n  'valid-types': validTypes,\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedRuleset = (warnOrError, flatName) => {\n  return {\n    ...(flatName ? {\n      name: 'jsdoc/' + flatName,\n    } : {}),\n    // @ts-expect-error ESLint 8 plugins\n    plugins:\n      flatName ? {\n        jsdoc: index,\n      } : [\n        'jsdoc',\n      ],\n    rules: {\n      'jsdoc/check-access': warnOrError,\n      'jsdoc/check-alignment': warnOrError,\n      'jsdoc/check-examples': 'off',\n      'jsdoc/check-indentation': 'off',\n      'jsdoc/check-line-alignment': 'off',\n      'jsdoc/check-param-names': warnOrError,\n      'jsdoc/check-property-names': warnOrError,\n      'jsdoc/check-syntax': 'off',\n      'jsdoc/check-tag-names': warnOrError,\n      'jsdoc/check-template-names': 'off',\n      'jsdoc/check-types': warnOrError,\n      'jsdoc/check-values': warnOrError,\n      'jsdoc/convert-to-jsdoc-comments': 'off',\n      'jsdoc/empty-tags': warnOrError,\n      'jsdoc/escape-inline-tags': warnOrError,\n      'jsdoc/implements-on-classes': warnOrError,\n      'jsdoc/imports-as-dependencies': 'off',\n      'jsdoc/informative-docs': 'off',\n      'jsdoc/lines-before-block': 'off',\n      'jsdoc/match-description': 'off',\n      'jsdoc/match-name': 'off',\n      'jsdoc/multiline-blocks': warnOrError,\n      'jsdoc/no-bad-blocks': 'off',\n      'jsdoc/no-blank-block-descriptions': 'off',\n      'jsdoc/no-blank-blocks': 'off',\n      'jsdoc/no-defaults': warnOrError,\n      'jsdoc/no-missing-syntax': 'off',\n      'jsdoc/no-multi-asterisks': warnOrError,\n      'jsdoc/no-restricted-syntax': 'off',\n      'jsdoc/no-types': 'off',\n      'jsdoc/no-undefined-types': warnOrError,\n      'jsdoc/prefer-import-tag': 'off',\n      'jsdoc/reject-any-type': warnOrError,\n      'jsdoc/reject-function-type': warnOrError,\n      'jsdoc/require-asterisk-prefix': 'off',\n      'jsdoc/require-description': 'off',\n      'jsdoc/require-description-complete-sentence': 'off',\n      'jsdoc/require-example': 'off',\n      'jsdoc/require-file-overview': 'off',\n      'jsdoc/require-hyphen-before-param-description': 'off',\n      'jsdoc/require-jsdoc': warnOrError,\n      'jsdoc/require-next-description': 'off',\n      'jsdoc/require-next-type': warnOrError,\n      'jsdoc/require-param': warnOrError,\n      'jsdoc/require-param-description': warnOrError,\n      'jsdoc/require-param-name': warnOrError,\n      'jsdoc/require-param-type': warnOrError,\n      'jsdoc/require-property': warnOrError,\n      'jsdoc/require-property-description': warnOrError,\n      'jsdoc/require-property-name': warnOrError,\n      'jsdoc/require-property-type': warnOrError,\n      'jsdoc/require-rejects': 'off',\n      'jsdoc/require-returns': warnOrError,\n      'jsdoc/require-returns-check': warnOrError,\n      'jsdoc/require-returns-description': warnOrError,\n      'jsdoc/require-returns-type': warnOrError,\n      'jsdoc/require-tags': 'off',\n      'jsdoc/require-template': 'off',\n      'jsdoc/require-template-description': 'off',\n      'jsdoc/require-throws': 'off',\n      'jsdoc/require-throws-description': 'off',\n      'jsdoc/require-throws-type': warnOrError,\n      'jsdoc/require-yields': warnOrError,\n      'jsdoc/require-yields-check': warnOrError,\n      'jsdoc/require-yields-description': 'off',\n      'jsdoc/require-yields-type': warnOrError,\n      'jsdoc/sort-tags': 'off',\n      'jsdoc/tag-lines': warnOrError,\n      'jsdoc/text-escaping': 'off',\n      'jsdoc/ts-method-signature-style': 'off',\n      'jsdoc/ts-no-empty-object-type': warnOrError,\n      'jsdoc/ts-no-unnecessary-template-expression': 'off',\n      'jsdoc/ts-prefer-function-type': 'off',\n      'jsdoc/type-formatting': 'off',\n      'jsdoc/valid-types': warnOrError,\n    },\n  };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptRuleset = (warnOrError, flatName) => {\n  const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n  return {\n    ...ruleset,\n    rules: {\n      ...ruleset.rules,\n      /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n        'jsdoc/check-tag-names': [\n          warnOrError, {\n            typed: true,\n          },\n        ],\n        'jsdoc/no-types': warnOrError,\n        'jsdoc/no-undefined-types': 'off',\n        'jsdoc/require-param-type': 'off',\n        'jsdoc/require-property-type': 'off',\n        'jsdoc/require-returns-type': 'off',\n      /* eslint-enable @stylistic/indent */\n    },\n  };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTsDocRuleset = (warnOrError, flatName) => {\n  const ruleset = createRecommendedTypeScriptRuleset(warnOrError, flatName);\n\n  return {\n    ...ruleset,\n    rules: {\n      ...ruleset.rules,\n      /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n        'jsdoc/require-next-type': 'off',\n        'jsdoc/require-throws-type': 'off',\n        'jsdoc/require-yields-type': 'off',\n      /* eslint-enable @stylistic/indent */\n    },\n  };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptFlavorRuleset = (warnOrError, flatName) => {\n  const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n  return {\n    ...ruleset,\n    rules: {\n      ...ruleset.rules,\n      /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n        'jsdoc/no-undefined-types': 'off',\n      /* eslint-enable @stylistic/indent */\n    },\n  };\n};\n\n/**\n * @param {(string | unknown[])[]} ruleNames\n */\nconst createStandaloneRulesetFactory = (ruleNames) => {\n  /**\n   * @param {\"warn\"|\"error\"} warnOrError\n   * @param {string} [flatName]\n   * @returns {import('eslint').Linter.Config}\n   */\n  return (warnOrError, flatName) => {\n    return {\n      name: 'jsdoc/' + flatName,\n      plugins: {\n        jsdoc: index,\n      },\n      rules: Object.fromEntries(\n        ruleNames.map(\n          (ruleName) => {\n            return (typeof ruleName === 'string' ?\n              [\n                ruleName, warnOrError,\n              ] :\n              [\n                ruleName[0], [\n                  warnOrError, ...ruleName.slice(1),\n                ],\n              ]);\n          },\n        ),\n      ),\n    };\n  };\n};\n\nconst contentsRules = [\n  'jsdoc/informative-docs',\n  'jsdoc/match-description',\n  'jsdoc/no-blank-block-descriptions',\n  'jsdoc/no-blank-blocks',\n  [\n    'jsdoc/text-escaping', {\n      escapeHTML: true,\n    },\n  ],\n];\n\nconst createContentsTypescriptRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst createContentsTypescriptFlavorRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst logicalRules = [\n  'jsdoc/check-access',\n  'jsdoc/check-param-names',\n  'jsdoc/check-property-names',\n  'jsdoc/check-syntax',\n  'jsdoc/check-tag-names',\n  'jsdoc/check-template-names',\n  'jsdoc/check-types',\n  'jsdoc/check-values',\n  'jsdoc/empty-tags',\n  'jsdoc/escape-inline-tags',\n  'jsdoc/implements-on-classes',\n  'jsdoc/require-returns-check',\n  'jsdoc/require-yields-check',\n  'jsdoc/no-bad-blocks',\n  'jsdoc/no-defaults',\n  'jsdoc/no-types',\n  'jsdoc/no-undefined-types',\n  'jsdoc/valid-types',\n];\n\nconst createLogicalTypescriptRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst createLogicalTypescriptFlavorRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst requirementsRules = [\n  'jsdoc/require-example',\n  'jsdoc/require-jsdoc',\n  'jsdoc/require-next-type',\n  'jsdoc/require-param',\n  'jsdoc/require-param-description',\n  'jsdoc/require-param-name',\n  'jsdoc/require-property',\n  'jsdoc/require-property-description',\n  'jsdoc/require-property-name',\n  'jsdoc/require-returns',\n  'jsdoc/require-returns-description',\n  'jsdoc/require-throws-type',\n  'jsdoc/require-yields',\n  'jsdoc/require-yields-type',\n];\n\nconst createRequirementsTypeScriptRuleset = createStandaloneRulesetFactory(requirementsRules);\n\nconst createRequirementsTypeScriptFlavorRuleset = createStandaloneRulesetFactory([\n  ...requirementsRules,\n  'jsdoc/require-param-type',\n  'jsdoc/require-property-type',\n  'jsdoc/require-returns-type',\n  'jsdoc/require-template',\n]);\n\nconst stylisticRules = [\n  'jsdoc/check-alignment',\n  'jsdoc/check-line-alignment',\n  'jsdoc/lines-before-block',\n  'jsdoc/multiline-blocks',\n  'jsdoc/no-multi-asterisks',\n  'jsdoc/require-asterisk-prefix',\n  [\n    'jsdoc/require-hyphen-before-param-description', 'never',\n  ],\n  'jsdoc/tag-lines',\n];\n\nconst createStylisticTypeScriptRuleset = createStandaloneRulesetFactory(stylisticRules);\n\nconst createStylisticTypeScriptFlavorRuleset = createStandaloneRulesetFactory(stylisticRules);\n\n/* c8 ignore next 3 -- TS */\nif (!index.configs) {\n  throw new Error('TypeScript guard');\n}\n\nindex.configs.recommended = createRecommendedRuleset('warn');\nindex.configs['recommended-error'] = createRecommendedRuleset('error');\nindex.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');\nindex.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');\nindex.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');\nindex.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');\nindex.configs['recommended-tsdoc'] = createRecommendedTsDocRuleset('warn');\nindex.configs['recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error');\n\nindex.configs['flat/recommended'] = createRecommendedRuleset('warn', 'flat/recommended');\nindex.configs['flat/recommended-error'] = createRecommendedRuleset('error', 'flat/recommended-error');\nindex.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', 'flat/recommended-typescript');\nindex.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', 'flat/recommended-typescript-error');\nindex.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', 'flat/recommended-typescript-flavor');\nindex.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', 'flat/recommended-typescript-flavor-error');\nindex.configs['flat/recommended-tsdoc'] = createRecommendedTsDocRuleset('warn', 'flat/recommended-tsdoc');\nindex.configs['flat/recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error', 'flat/recommended-tsdoc-error');\n\nindex.configs['flat/contents-typescript'] = createContentsTypescriptRuleset('warn', 'flat/contents-typescript');\nindex.configs['flat/contents-typescript-error'] = createContentsTypescriptRuleset('error', 'flat/contents-typescript-error');\nindex.configs['flat/contents-typescript-flavor'] = createContentsTypescriptFlavorRuleset('warn', 'flat/contents-typescript-flavor');\nindex.configs['flat/contents-typescript-flavor-error'] = createContentsTypescriptFlavorRuleset('error', 'flat/contents-typescript-error-flavor');\nindex.configs['flat/logical-typescript'] = createLogicalTypescriptRuleset('warn', 'flat/logical-typescript');\nindex.configs['flat/logical-typescript-error'] = createLogicalTypescriptRuleset('error', 'flat/logical-typescript-error');\nindex.configs['flat/logical-typescript-flavor'] = createLogicalTypescriptFlavorRuleset('warn', 'flat/logical-typescript-flavor');\nindex.configs['flat/logical-typescript-flavor-error'] = createLogicalTypescriptFlavorRuleset('error', 'flat/logical-typescript-error-flavor');\nindex.configs['flat/requirements-typescript'] = createRequirementsTypeScriptRuleset('warn', 'flat/requirements-typescript');\nindex.configs['flat/requirements-typescript-error'] = createRequirementsTypeScriptRuleset('error', 'flat/requirements-typescript-error');\nindex.configs['flat/requirements-typescript-flavor'] = createRequirementsTypeScriptFlavorRuleset('warn', 'flat/requirements-typescript-flavor');\nindex.configs['flat/requirements-typescript-flavor-error'] = createRequirementsTypeScriptFlavorRuleset('error', 'flat/requirements-typescript-error-flavor');\nindex.configs['flat/stylistic-typescript'] = createStylisticTypeScriptRuleset('warn', 'flat/stylistic-typescript');\nindex.configs['flat/stylistic-typescript-error'] = createStylisticTypeScriptRuleset('error', 'flat/stylistic-typescript-error');\nindex.configs['flat/stylistic-typescript-flavor'] = createStylisticTypeScriptFlavorRuleset('warn', 'flat/stylistic-typescript-flavor');\nindex.configs['flat/stylistic-typescript-flavor-error'] = createStylisticTypeScriptFlavorRuleset('error', 'flat/stylistic-typescript-error-flavor');\n\nindex.configs.examples = /** @type {import('eslint').Linter.Config[]} */ ([\n  {\n    files: [\n      '**/*.js',\n    ],\n    name: 'jsdoc/examples/processor',\n    plugins: {\n      examples: getJsdocProcessorPlugin(),\n    },\n    processor: 'examples/examples',\n  },\n  {\n    files: [\n      '**/*.md/*.js',\n    ],\n    name: 'jsdoc/examples/rules',\n    rules: {\n      // \"always\" newline rule at end unlikely in sample code\n      '@stylistic/eol-last': 0,\n      // Often wish to start `@example` code after newline; also may use\n      //   empty lines for spacing\n      '@stylistic/no-multiple-empty-lines': 0,\n\n      // Can generally look nicer to pad a little even if code imposes more stringency\n      '@stylistic/padded-blocks': 0,\n\n      '@typescript-eslint/no-unused-vars': 0,\n\n      // Wouldn't generally expect example paths to resolve relative to JS file\n      'import/no-unresolved': 0,\n\n      // Snippets likely too short to always include import/export info\n      'import/unambiguous': 0,\n\n      'jsdoc/require-file-overview': 0,\n\n      // The end of a multiline comment would end the comment the example is in.\n      'jsdoc/require-jsdoc': 0,\n\n      // See import/no-unresolved\n      'n/no-missing-import': 0,\n\n      'n/no-missing-require': 0,\n\n      // Unlikely to have inadvertent debugging within examples\n      'no-console': 0,\n\n      /* c8 ignore next 11 -- Coercion should work */\n      ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n        // \"always\" newline rule at end unlikely in sample code\n        'eol-last': 0,\n\n        // Often wish to start `@example` code after newline; also may use\n        //   empty lines for spacing\n        'no-multiple-empty-lines': 0,\n\n        // Can generally look nicer to pad a little even if code imposes more stringency\n        'padded-blocks': 0,\n      }),\n\n      // Many variables in examples will be `undefined`\n      'no-undef': 0,\n      // Common to define variables for clarity without always using them\n      'no-unused-vars': 0,\n\n      // See import/no-unresolved\n      'node/no-missing-import': 0,\n      'node/no-missing-require': 0,\n    },\n  },\n]);\n\nindex.configs['default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n  {\n    files: [\n      '**/*.js',\n    ],\n    name: 'jsdoc/default-expressions/processor',\n    plugins: {\n      examples: getJsdocProcessorPlugin({\n        checkDefaults: true,\n        checkParams: true,\n        checkProperties: true,\n      }),\n    },\n    processor: 'examples/examples',\n  },\n  {\n    files: [\n      '**/*.jsdoc-defaults', '**/*.jsdoc-params', '**/*.jsdoc-properties',\n    ],\n    name: 'jsdoc/default-expressions/rules',\n    rules: {\n      ...index.configs.examples[1].rules,\n      '@stylistic/quotes': [\n        'error', 'double',\n      ],\n      '@stylistic/semi': [\n        'error', 'never',\n      ],\n      '@typescript-eslint/no-unused-expressions': 0,\n      'chai-friendly/no-unused-expressions': 0,\n      'no-empty-function': 0,\n      'no-new': 0,\n      'no-unused-expressions': 0,\n      /* c8 ignore next 8 -- Coercion should work */\n      ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n        quotes: [\n          'error', 'double',\n        ],\n        semi: [\n          'error', 'never',\n        ],\n      }),\n      strict: 0,\n    },\n  },\n]);\n\nindex.configs['examples-and-default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n  {\n    name: 'jsdoc/examples-and-default-expressions',\n    plugins: {\n      examples: getJsdocProcessorPlugin({\n        checkDefaults: true,\n        checkParams: true,\n        checkProperties: true,\n      }),\n    },\n  },\n  ...index.configs.examples.map((config) => {\n    return {\n      ...config,\n      plugins: {},\n    };\n  }),\n  ...index.configs['default-expressions'].map((config) => {\n    return {\n      ...config,\n      plugins: {},\n    };\n  }),\n]);\n\nindex.configs['flat/recommended-mixed'] = [\n  {\n    ...index.configs['flat/recommended-typescript-flavor'],\n    files: [\n      '**/*.{js,jsx,cjs,mjs}',\n    ],\n  },\n  {\n    ...index.configs['flat/recommended-typescript'],\n    files: [\n      '**/*.{ts,tsx,cts,mts}',\n    ],\n  },\n];\n\nexport default index;\n\n/**\n * @type {((\n *   cfg?: import('eslint').Linter.Config & {\n *     config?: `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\n *     mergeSettings?: boolean,\n *     settings?: Partial<import('./iterateJsdoc.js').Settings>,\n *     rules?: {[key in keyof import('./rules.d.ts').Rules]?: import('eslint').Linter.RuleEntry<import('./rules.d.ts').Rules[key]>},\n *     extraRuleDefinitions?: {\n *       forbid?: {\n *         [contextName: string]: {\n *           description?: string,\n *           url?: string,\n *           contexts: (string|{\n *             message: string,\n *             context: string,\n *             comment: string\n *           })[]\n *         }\n *       },\n *       preferTypes?: {\n *         [typeName: string]: {\n *           description: string,\n *           overrideSettings: {\n *             [typeNodeName: string]: {\n *               message: string,\n *               replacement?: false|string,\n *               unifyParentAndChildTypeChecks?: boolean,\n *             }\n *           },\n *           url: string,\n *         }\n *       }\n *     }\n *   }\n * ) => import('eslint').Linter.Config)}\n */\nexport const jsdoc = function (cfg) {\n  /** @type {import('eslint').Linter.Config} */\n  let outputConfig = {\n    plugins: {\n      jsdoc: index,\n    },\n  };\n\n  if (cfg) {\n    if (cfg.config) {\n      // @ts-expect-error Security check\n      if (cfg.config === '__proto__') {\n        throw new TypeError('Disallowed config value');\n      }\n\n      outputConfig = /** @type {import('eslint').Linter.Config} */ (index.configs[cfg.config]);\n    }\n\n    if (cfg.rules) {\n      outputConfig.rules = {\n        ...outputConfig.rules,\n        ...cfg.rules,\n      };\n    }\n\n    if (cfg.plugins) {\n      outputConfig.plugins = {\n        ...outputConfig.plugins,\n        ...cfg.plugins,\n      };\n    }\n\n    if (cfg.name) {\n      outputConfig.name = cfg.name;\n    }\n\n    if (cfg.basePath) {\n      outputConfig.basePath = cfg.basePath;\n    }\n\n    if (cfg.files) {\n      outputConfig.files = cfg.files;\n    }\n\n    if (cfg.ignores) {\n      outputConfig.ignores = cfg.ignores;\n    }\n\n    if (cfg.language) {\n      outputConfig.language = cfg.language;\n    }\n\n    if (cfg.languageOptions) {\n      outputConfig.languageOptions = cfg.languageOptions;\n    }\n\n    if (cfg.linterOptions) {\n      outputConfig.linterOptions = cfg.linterOptions;\n    }\n\n    if (cfg.processor) {\n      outputConfig.processor = cfg.processor;\n    }\n\n    if (cfg.extraRuleDefinitions) {\n      if (!outputConfig.plugins?.jsdoc?.rules) {\n        throw new Error('JSDoc plugin required for `extraRuleDefinitions`');\n      }\n\n      if (cfg.extraRuleDefinitions.forbid) {\n        for (const [\n          contextName,\n          {\n            contexts,\n            description,\n            url,\n          },\n        ] of Object.entries(cfg.extraRuleDefinitions.forbid)) {\n          outputConfig.plugins.jsdoc.rules[`forbid-${contextName}`] =\n            buildForbidRuleDefinition({\n              contextName,\n              contexts,\n              description,\n              url,\n            });\n        }\n      }\n\n      if (cfg.extraRuleDefinitions.preferTypes) {\n        for (const [\n          typeName,\n          {\n            description,\n            overrideSettings,\n            url,\n          },\n        ] of Object.entries(cfg.extraRuleDefinitions.preferTypes)) {\n          outputConfig.plugins.jsdoc.rules[`prefer-type-${typeName}`] =\n            buildRejectOrPreferRuleDefinition({\n              description,\n              overrideSettings,\n              typeName,\n              url,\n            });\n        }\n      }\n    }\n  }\n\n  outputConfig.settings = {\n    jsdoc: cfg?.mergeSettings === false ?\n      cfg.settings :\n      merge(\n        {},\n        cfg?.settings ?? {},\n        cfg?.config?.includes('recommended') ?\n          {\n            // We may need to drop these for \"typescript\" (non-\"flavor\") configs,\n            //   if support is later added: https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html\n            structuredTags: {\n              next: {\n                required: [\n                  'type',\n                ],\n              },\n              rejects: {\n                required: [\n                  'type',\n                ],\n              },\n            },\n          } :\n          {},\n      ),\n  };\n\n  return outputConfig;\n};\n\nexport {\n  getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\n"],"mappings":"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","ignoreList":[]}