eslint-plugin-jsdoc 54.7.0 → 55.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-cjs.cjs","names":["_getJsdocProcessorPlugin","require","_checkAccess","_interopRequireDefault","_checkAlignment","_checkExamples","_checkIndentation","_checkLineAlignment","_checkParamNames","_checkPropertyNames","_checkSyntax","_checkTagNames","_checkTemplateNames","_checkTypes","_checkValues","_convertToJsdocComments","_emptyTags","_implementsOnClasses","_importsAsDependencies","_informativeDocs","_linesBeforeBlock","_matchDescription","_matchName","_multilineBlocks","_noBadBlocks","_noBlankBlockDescriptions","_noBlankBlocks","_noDefaults","_noMissingSyntax","_noMultiAsterisks","_noRestrictedSyntax","_noTypes","_noUndefinedTypes","_requireAsteriskPrefix","_requireDescription","_requireDescriptionCompleteSentence","_requireExample","_requireFileOverview","_requireHyphenBeforeParamDescription","_requireJsdoc","_requireParam","_requireParamDescription","_requireParamName","_requireParamType","_requireProperty","_requirePropertyDescription","_requirePropertyName","_requirePropertyType","_requireReturns","_requireReturnsCheck","_requireReturnsDescription","_requireReturnsType","_requireTemplate","_requireThrows","_requireYields","_requireYieldsCheck","_sortTags","_tagLines","_textEscaping","_validTypes","e","__esModule","default","index","configs","rules","checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTemplateNames","checkTypes","checkValues","convertToJsdocComments","emptyTags","implementsOnClasses","importsAsDependencies","informativeDocs","linesBeforeBlock","matchDescription","matchName","multilineBlocks","noBadBlocks","noBlankBlockDescriptions","noBlankBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireTemplate","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","textEscaping","validTypes","createRecommendedRuleset","warnOrError","flatName","name","plugins","jsdoc","createRecommendedTypeScriptRuleset","ruleset","typed","createRecommendedTypeScriptFlavorRuleset","createStandaloneRulesetFactory","ruleNames","Object","fromEntries","map","ruleName","slice","contentsRules","escapeHTML","createContentsTypescriptRuleset","createContentsTypescriptFlavorRuleset","logicalRules","createLogicalTypescriptRuleset","createLogicalTypescriptFlavorRuleset","requirementsRules","createRequirementsTypeScriptRuleset","createRequirementsTypeScriptFlavorRuleset","stylisticRules","createStylisticTypeScriptRuleset","createStylisticTypeScriptFlavorRuleset","Error","recommended","examples","files","getJsdocProcessorPlugin","processor","checkDefaults","checkParams","checkProperties","quotes","semi","strict","config","_default","exports","module"],"sources":["../src/index-cjs.js"],"sourcesContent":["import {\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 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 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 requireReturns from './rules/requireReturns.js';\nimport requireReturnsCheck from './rules/requireReturnsCheck.js';\nimport requireReturnsDescription from './rules/requireReturnsDescription.js';\nimport requireReturnsType from './rules/requireReturnsType.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 validTypes from './rules/validTypes.js';\n\n/* eslint-disable jsdoc/valid-types -- Bug */\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<`flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\n * import('eslint').Linter.Config>\n * }}\n */\nconst index = {};\n/* eslint-enable jsdoc/valid-types -- Bug */\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 '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 '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-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-returns': requireReturns,\n 'require-returns-check': requireReturnsCheck,\n 'require-returns-description': requireReturnsDescription,\n 'require-returns-type': requireReturnsType,\n 'require-template': requireTemplate,\n 'require-throws': requireThrows,\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'text-escaping': textEscaping,\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 Ok\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/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/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-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-returns': warnOrError,\n 'jsdoc/require-returns-check': warnOrError,\n 'jsdoc/require-returns-description': warnOrError,\n 'jsdoc/require-returns-type': warnOrError,\n 'jsdoc/require-template': 'off',\n 'jsdoc/require-throws': 'off',\n 'jsdoc/require-yields': warnOrError,\n 'jsdoc/require-yields-check': warnOrError,\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': warnOrError,\n 'jsdoc/text-escaping': '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 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/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-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-yields',\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');\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');\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 'eol-last': 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 // Unlikely to have inadvertent debugging within examples\n 'no-console': 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 // Many variables in examples will be `undefined`\n 'no-undef': 0,\n\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 // Can generally look nicer to pad a little even if code imposes more stringency\n 'padded-blocks': 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 'chai-friendly/no-unused-expressions': 0,\n 'no-empty-function': 0,\n 'no-new': 0,\n 'no-unused-expressions': 0,\n quotes: [\n 'error', 'double',\n ],\n semi: [\n 'error', 'never',\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\nexport default index;\n"],"mappings":"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","ignoreList":[]}
package/dist/index.cjs CHANGED
@@ -3,409 +3,59 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
7
- var _getJsdocProcessorPlugin = require("./getJsdocProcessorPlugin.cjs");
8
- var _checkAccess = _interopRequireDefault(require("./rules/checkAccess.cjs"));
9
- var _checkAlignment = _interopRequireDefault(require("./rules/checkAlignment.cjs"));
10
- var _checkExamples = _interopRequireDefault(require("./rules/checkExamples.cjs"));
11
- var _checkIndentation = _interopRequireDefault(require("./rules/checkIndentation.cjs"));
12
- var _checkLineAlignment = _interopRequireDefault(require("./rules/checkLineAlignment.cjs"));
13
- var _checkParamNames = _interopRequireDefault(require("./rules/checkParamNames.cjs"));
14
- var _checkPropertyNames = _interopRequireDefault(require("./rules/checkPropertyNames.cjs"));
15
- var _checkSyntax = _interopRequireDefault(require("./rules/checkSyntax.cjs"));
16
- var _checkTagNames = _interopRequireDefault(require("./rules/checkTagNames.cjs"));
17
- var _checkTemplateNames = _interopRequireDefault(require("./rules/checkTemplateNames.cjs"));
18
- var _checkTypes = _interopRequireDefault(require("./rules/checkTypes.cjs"));
19
- var _checkValues = _interopRequireDefault(require("./rules/checkValues.cjs"));
20
- var _convertToJsdocComments = _interopRequireDefault(require("./rules/convertToJsdocComments.cjs"));
21
- var _emptyTags = _interopRequireDefault(require("./rules/emptyTags.cjs"));
22
- var _implementsOnClasses = _interopRequireDefault(require("./rules/implementsOnClasses.cjs"));
23
- var _importsAsDependencies = _interopRequireDefault(require("./rules/importsAsDependencies.cjs"));
24
- var _informativeDocs = _interopRequireDefault(require("./rules/informativeDocs.cjs"));
25
- var _linesBeforeBlock = _interopRequireDefault(require("./rules/linesBeforeBlock.cjs"));
26
- var _matchDescription = _interopRequireDefault(require("./rules/matchDescription.cjs"));
27
- var _matchName = _interopRequireDefault(require("./rules/matchName.cjs"));
28
- var _multilineBlocks = _interopRequireDefault(require("./rules/multilineBlocks.cjs"));
29
- var _noBadBlocks = _interopRequireDefault(require("./rules/noBadBlocks.cjs"));
30
- var _noBlankBlockDescriptions = _interopRequireDefault(require("./rules/noBlankBlockDescriptions.cjs"));
31
- var _noBlankBlocks = _interopRequireDefault(require("./rules/noBlankBlocks.cjs"));
32
- var _noDefaults = _interopRequireDefault(require("./rules/noDefaults.cjs"));
33
- var _noMissingSyntax = _interopRequireDefault(require("./rules/noMissingSyntax.cjs"));
34
- var _noMultiAsterisks = _interopRequireDefault(require("./rules/noMultiAsterisks.cjs"));
35
- var _noRestrictedSyntax = _interopRequireDefault(require("./rules/noRestrictedSyntax.cjs"));
36
- var _noTypes = _interopRequireDefault(require("./rules/noTypes.cjs"));
37
- var _noUndefinedTypes = _interopRequireDefault(require("./rules/noUndefinedTypes.cjs"));
38
- var _requireAsteriskPrefix = _interopRequireDefault(require("./rules/requireAsteriskPrefix.cjs"));
39
- var _requireDescription = _interopRequireDefault(require("./rules/requireDescription.cjs"));
40
- var _requireDescriptionCompleteSentence = _interopRequireDefault(require("./rules/requireDescriptionCompleteSentence.cjs"));
41
- var _requireExample = _interopRequireDefault(require("./rules/requireExample.cjs"));
42
- var _requireFileOverview = _interopRequireDefault(require("./rules/requireFileOverview.cjs"));
43
- var _requireHyphenBeforeParamDescription = _interopRequireDefault(require("./rules/requireHyphenBeforeParamDescription.cjs"));
44
- var _requireJsdoc = _interopRequireDefault(require("./rules/requireJsdoc.cjs"));
45
- var _requireParam = _interopRequireDefault(require("./rules/requireParam.cjs"));
46
- var _requireParamDescription = _interopRequireDefault(require("./rules/requireParamDescription.cjs"));
47
- var _requireParamName = _interopRequireDefault(require("./rules/requireParamName.cjs"));
48
- var _requireParamType = _interopRequireDefault(require("./rules/requireParamType.cjs"));
49
- var _requireProperty = _interopRequireDefault(require("./rules/requireProperty.cjs"));
50
- var _requirePropertyDescription = _interopRequireDefault(require("./rules/requirePropertyDescription.cjs"));
51
- var _requirePropertyName = _interopRequireDefault(require("./rules/requirePropertyName.cjs"));
52
- var _requirePropertyType = _interopRequireDefault(require("./rules/requirePropertyType.cjs"));
53
- var _requireReturns = _interopRequireDefault(require("./rules/requireReturns.cjs"));
54
- var _requireReturnsCheck = _interopRequireDefault(require("./rules/requireReturnsCheck.cjs"));
55
- var _requireReturnsDescription = _interopRequireDefault(require("./rules/requireReturnsDescription.cjs"));
56
- var _requireReturnsType = _interopRequireDefault(require("./rules/requireReturnsType.cjs"));
57
- var _requireTemplate = _interopRequireDefault(require("./rules/requireTemplate.cjs"));
58
- var _requireThrows = _interopRequireDefault(require("./rules/requireThrows.cjs"));
59
- var _requireYields = _interopRequireDefault(require("./rules/requireYields.cjs"));
60
- var _requireYieldsCheck = _interopRequireDefault(require("./rules/requireYieldsCheck.cjs"));
61
- var _sortTags = _interopRequireDefault(require("./rules/sortTags.cjs"));
62
- var _tagLines = _interopRequireDefault(require("./rules/tagLines.cjs"));
63
- var _textEscaping = _interopRequireDefault(require("./rules/textEscaping.cjs"));
64
- var _validTypes = _interopRequireDefault(require("./rules/validTypes.cjs"));
6
+ exports.jsdoc = exports.default = void 0;
7
+ var _indexCjs = _interopRequireDefault(require("./index-cjs.cjs"));
8
+ var _objectDeepMerge = require("object-deep-merge");
65
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // eslint-disable-next-line unicorn/prefer-export-from --- Reusing `index`
11
+ var _default = exports.default = _indexCjs.default;
66
12
  /* eslint-disable jsdoc/valid-types -- Bug */
67
13
  /**
68
- * @typedef {"recommended" | "stylistic" | "contents" | "logical" | "requirements"} ConfigGroups
69
- * @typedef {"" | "-typescript" | "-typescript-flavor"} ConfigVariants
70
- * @typedef {"" | "-error"} ErrorLevelVariants
71
- * @type {import('eslint').ESLint.Plugin & {
72
- * configs: Record<`flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,
14
+ * @type {((
15
+ * cfg?: {
16
+ * mergeSettings?: boolean,
17
+ * config?: `flat/${import('./index-cjs.js').ConfigGroups}${import('./index-cjs.js').ConfigVariants}${import('./index-cjs.js').ErrorLevelVariants}`,
18
+ * settings?: Partial<import('./iterateJsdoc.js').Settings>
19
+ * }
20
+ * ) => import('eslint').Linter.Config) & import('eslint').ESLint.Plugin & {
21
+ * configs: Record<`flat/${import('./index-cjs.js').ConfigGroups}${import('./index-cjs.js').ConfigVariants}${import('./index-cjs.js').ErrorLevelVariants}`,
73
22
  * import('eslint').Linter.Config>
74
23
  * }}
75
24
  */
76
- const index = {
77
- /* eslint-enable jsdoc/valid-types -- Bug */
78
- // @ts-expect-error Ok
79
- configs: {},
80
- rules: {
81
- 'check-access': _checkAccess.default,
82
- 'check-alignment': _checkAlignment.default,
83
- 'check-examples': _checkExamples.default,
84
- 'check-indentation': _checkIndentation.default,
85
- 'check-line-alignment': _checkLineAlignment.default,
86
- 'check-param-names': _checkParamNames.default,
87
- 'check-property-names': _checkPropertyNames.default,
88
- 'check-syntax': _checkSyntax.default,
89
- 'check-tag-names': _checkTagNames.default,
90
- 'check-template-names': _checkTemplateNames.default,
91
- 'check-types': _checkTypes.default,
92
- 'check-values': _checkValues.default,
93
- 'convert-to-jsdoc-comments': _convertToJsdocComments.default,
94
- 'empty-tags': _emptyTags.default,
95
- 'implements-on-classes': _implementsOnClasses.default,
96
- 'imports-as-dependencies': _importsAsDependencies.default,
97
- 'informative-docs': _informativeDocs.default,
98
- 'lines-before-block': _linesBeforeBlock.default,
99
- 'match-description': _matchDescription.default,
100
- 'match-name': _matchName.default,
101
- 'multiline-blocks': _multilineBlocks.default,
102
- 'no-bad-blocks': _noBadBlocks.default,
103
- 'no-blank-block-descriptions': _noBlankBlockDescriptions.default,
104
- 'no-blank-blocks': _noBlankBlocks.default,
105
- 'no-defaults': _noDefaults.default,
106
- 'no-missing-syntax': _noMissingSyntax.default,
107
- 'no-multi-asterisks': _noMultiAsterisks.default,
108
- 'no-restricted-syntax': _noRestrictedSyntax.default,
109
- 'no-types': _noTypes.default,
110
- 'no-undefined-types': _noUndefinedTypes.default,
111
- 'require-asterisk-prefix': _requireAsteriskPrefix.default,
112
- 'require-description': _requireDescription.default,
113
- 'require-description-complete-sentence': _requireDescriptionCompleteSentence.default,
114
- 'require-example': _requireExample.default,
115
- 'require-file-overview': _requireFileOverview.default,
116
- 'require-hyphen-before-param-description': _requireHyphenBeforeParamDescription.default,
117
- 'require-jsdoc': _requireJsdoc.default,
118
- 'require-param': _requireParam.default,
119
- 'require-param-description': _requireParamDescription.default,
120
- 'require-param-name': _requireParamName.default,
121
- 'require-param-type': _requireParamType.default,
122
- 'require-property': _requireProperty.default,
123
- 'require-property-description': _requirePropertyDescription.default,
124
- 'require-property-name': _requirePropertyName.default,
125
- 'require-property-type': _requirePropertyType.default,
126
- 'require-returns': _requireReturns.default,
127
- 'require-returns-check': _requireReturnsCheck.default,
128
- 'require-returns-description': _requireReturnsDescription.default,
129
- 'require-returns-type': _requireReturnsType.default,
130
- 'require-template': _requireTemplate.default,
131
- 'require-throws': _requireThrows.default,
132
- 'require-yields': _requireYields.default,
133
- 'require-yields-check': _requireYieldsCheck.default,
134
- 'sort-tags': _sortTags.default,
135
- 'tag-lines': _tagLines.default,
136
- 'text-escaping': _textEscaping.default,
137
- 'valid-types': _validTypes.default
138
- }
139
- };
140
-
141
- /**
142
- * @param {"warn"|"error"} warnOrError
143
- * @param {string} [flatName]
144
- * @returns {import('eslint').Linter.Config}
145
- */
146
- const createRecommendedRuleset = (warnOrError, flatName) => {
147
- return {
148
- ...(flatName ? {
149
- name: 'jsdoc/' + flatName
150
- } : {}),
151
- // @ts-expect-error Ok
152
- plugins: flatName ? {
153
- jsdoc: index
154
- } : ['jsdoc'],
155
- rules: {
156
- 'jsdoc/check-access': warnOrError,
157
- 'jsdoc/check-alignment': warnOrError,
158
- 'jsdoc/check-examples': 'off',
159
- 'jsdoc/check-indentation': 'off',
160
- 'jsdoc/check-line-alignment': 'off',
161
- 'jsdoc/check-param-names': warnOrError,
162
- 'jsdoc/check-property-names': warnOrError,
163
- 'jsdoc/check-syntax': 'off',
164
- 'jsdoc/check-tag-names': warnOrError,
165
- 'jsdoc/check-template-names': 'off',
166
- 'jsdoc/check-types': warnOrError,
167
- 'jsdoc/check-values': warnOrError,
168
- 'jsdoc/convert-to-jsdoc-comments': 'off',
169
- 'jsdoc/empty-tags': warnOrError,
170
- 'jsdoc/implements-on-classes': warnOrError,
171
- 'jsdoc/imports-as-dependencies': 'off',
172
- 'jsdoc/informative-docs': 'off',
173
- 'jsdoc/lines-before-block': 'off',
174
- 'jsdoc/match-description': 'off',
175
- 'jsdoc/match-name': 'off',
176
- 'jsdoc/multiline-blocks': warnOrError,
177
- 'jsdoc/no-bad-blocks': 'off',
178
- 'jsdoc/no-blank-block-descriptions': 'off',
179
- 'jsdoc/no-blank-blocks': 'off',
180
- 'jsdoc/no-defaults': warnOrError,
181
- 'jsdoc/no-missing-syntax': 'off',
182
- 'jsdoc/no-multi-asterisks': warnOrError,
183
- 'jsdoc/no-restricted-syntax': 'off',
184
- 'jsdoc/no-types': 'off',
185
- 'jsdoc/no-undefined-types': warnOrError,
186
- 'jsdoc/require-asterisk-prefix': 'off',
187
- 'jsdoc/require-description': 'off',
188
- 'jsdoc/require-description-complete-sentence': 'off',
189
- 'jsdoc/require-example': 'off',
190
- 'jsdoc/require-file-overview': 'off',
191
- 'jsdoc/require-hyphen-before-param-description': 'off',
192
- 'jsdoc/require-jsdoc': warnOrError,
193
- 'jsdoc/require-param': warnOrError,
194
- 'jsdoc/require-param-description': warnOrError,
195
- 'jsdoc/require-param-name': warnOrError,
196
- 'jsdoc/require-param-type': warnOrError,
197
- 'jsdoc/require-property': warnOrError,
198
- 'jsdoc/require-property-description': warnOrError,
199
- 'jsdoc/require-property-name': warnOrError,
200
- 'jsdoc/require-property-type': warnOrError,
201
- 'jsdoc/require-returns': warnOrError,
202
- 'jsdoc/require-returns-check': warnOrError,
203
- 'jsdoc/require-returns-description': warnOrError,
204
- 'jsdoc/require-returns-type': warnOrError,
205
- 'jsdoc/require-template': 'off',
206
- 'jsdoc/require-throws': 'off',
207
- 'jsdoc/require-yields': warnOrError,
208
- 'jsdoc/require-yields-check': warnOrError,
209
- 'jsdoc/sort-tags': 'off',
210
- 'jsdoc/tag-lines': warnOrError,
211
- 'jsdoc/text-escaping': 'off',
212
- 'jsdoc/valid-types': warnOrError
25
+ /* eslint-enable jsdoc/valid-types -- Bug */
26
+ // @ts-expect-error Ok
27
+ const jsdoc = function (cfg) {
28
+ /** @type {import('eslint').Linter.Config} */
29
+ let outputConfig = {
30
+ plugins: {
31
+ jsdoc: _indexCjs.default
213
32
  }
214
33
  };
215
- };
216
-
217
- /**
218
- * @param {"warn"|"error"} warnOrError
219
- * @param {string} [flatName]
220
- * @returns {import('eslint').Linter.Config}
221
- */
222
- const createRecommendedTypeScriptRuleset = (warnOrError, flatName) => {
223
- const ruleset = createRecommendedRuleset(warnOrError, flatName);
224
- return {
225
- ...ruleset,
226
- rules: {
227
- ...ruleset.rules,
228
- /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */
229
- 'jsdoc/check-tag-names': [warnOrError, {
230
- typed: true
231
- }],
232
- 'jsdoc/no-types': warnOrError,
233
- 'jsdoc/no-undefined-types': 'off',
234
- 'jsdoc/require-param-type': 'off',
235
- 'jsdoc/require-property-type': 'off',
236
- 'jsdoc/require-returns-type': 'off'
237
- /* eslint-enable @stylistic/indent */
34
+ if (cfg?.config) {
35
+ // @ts-expect-error Security check
36
+ if (cfg.config === '__proto__') {
37
+ throw new TypeError('Disallowed config value');
238
38
  }
239
- };
240
- };
241
-
242
- /**
243
- * @param {"warn"|"error"} warnOrError
244
- * @param {string} [flatName]
245
- * @returns {import('eslint').Linter.Config}
246
- */
247
- const createRecommendedTypeScriptFlavorRuleset = (warnOrError, flatName) => {
248
- const ruleset = createRecommendedRuleset(warnOrError, flatName);
249
- return {
250
- ...ruleset,
251
- rules: {
252
- ...ruleset.rules,
253
- /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */
254
- 'jsdoc/no-undefined-types': 'off'
255
- /* eslint-enable @stylistic/indent */
256
- }
257
- };
258
- };
259
-
260
- /**
261
- * @param {(string | unknown[])[]} ruleNames
262
- */
263
- const createStandaloneRulesetFactory = ruleNames => {
264
- /**
265
- * @param {"warn"|"error"} warnOrError
266
- * @param {string} [flatName]
267
- * @returns {import('eslint').Linter.Config}
268
- */
269
- return (warnOrError, flatName) => {
270
- return {
271
- name: 'jsdoc/' + flatName,
272
- plugins: {
273
- jsdoc: index
274
- },
275
- rules: Object.fromEntries(ruleNames.map(ruleName => {
276
- return typeof ruleName === 'string' ? [ruleName, warnOrError] : [ruleName[0], [warnOrError, ...ruleName.slice(1)]];
277
- }))
278
- };
279
- };
280
- };
281
- const contentsRules = ['jsdoc/informative-docs', 'jsdoc/match-description', 'jsdoc/no-blank-block-descriptions', 'jsdoc/no-blank-blocks', ['jsdoc/text-escaping', {
282
- escapeHTML: true
283
- }]];
284
- const createContentsTypescriptRuleset = createStandaloneRulesetFactory(contentsRules);
285
- const createContentsTypescriptFlavorRuleset = createStandaloneRulesetFactory(contentsRules);
286
- const logicalRules = ['jsdoc/check-access', 'jsdoc/check-param-names', 'jsdoc/check-property-names', 'jsdoc/check-syntax', 'jsdoc/check-tag-names', 'jsdoc/check-template-names', 'jsdoc/check-types', 'jsdoc/check-values', 'jsdoc/empty-tags', 'jsdoc/implements-on-classes', 'jsdoc/require-returns-check', 'jsdoc/require-yields-check', 'jsdoc/no-bad-blocks', 'jsdoc/no-defaults', 'jsdoc/no-types', 'jsdoc/no-undefined-types', 'jsdoc/valid-types'];
287
- const createLogicalTypescriptRuleset = createStandaloneRulesetFactory(logicalRules);
288
- const createLogicalTypescriptFlavorRuleset = createStandaloneRulesetFactory(logicalRules);
289
- const requirementsRules = ['jsdoc/require-example', 'jsdoc/require-jsdoc', 'jsdoc/require-param', 'jsdoc/require-param-description', 'jsdoc/require-param-name', 'jsdoc/require-property', 'jsdoc/require-property-description', 'jsdoc/require-property-name', 'jsdoc/require-returns', 'jsdoc/require-returns-description', 'jsdoc/require-yields'];
290
- const createRequirementsTypeScriptRuleset = createStandaloneRulesetFactory(requirementsRules);
291
- const createRequirementsTypeScriptFlavorRuleset = createStandaloneRulesetFactory([...requirementsRules, 'jsdoc/require-param-type', 'jsdoc/require-property-type', 'jsdoc/require-returns-type', 'jsdoc/require-template']);
292
- const stylisticRules = ['jsdoc/check-alignment', 'jsdoc/check-line-alignment', 'jsdoc/lines-before-block', 'jsdoc/multiline-blocks', 'jsdoc/no-multi-asterisks', 'jsdoc/require-asterisk-prefix', ['jsdoc/require-hyphen-before-param-description', 'never'], 'jsdoc/tag-lines'];
293
- const createStylisticTypeScriptRuleset = createStandaloneRulesetFactory(stylisticRules);
294
- const createStylisticTypeScriptFlavorRuleset = createStandaloneRulesetFactory(stylisticRules);
295
-
296
- /* c8 ignore next 3 -- TS */
297
- if (!index.configs) {
298
- throw new Error('TypeScript guard');
299
- }
300
- index.configs.recommended = createRecommendedRuleset('warn');
301
- index.configs['recommended-error'] = createRecommendedRuleset('error');
302
- index.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');
303
- index.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');
304
- index.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');
305
- index.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');
306
- index.configs['flat/recommended'] = createRecommendedRuleset('warn', 'flat/recommended');
307
- index.configs['flat/recommended-error'] = createRecommendedRuleset('error', 'flat/recommended-error');
308
- index.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', 'flat/recommended-typescript');
309
- index.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', 'flat/recommended-typescript-error');
310
- index.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', 'flat/recommended-typescript-flavor');
311
- index.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', 'flat/recommended-typescript-flavor-error');
312
- index.configs['flat/contents-typescript'] = createContentsTypescriptRuleset('warn', 'flat/contents-typescript');
313
- index.configs['flat/contents-typescript-error'] = createContentsTypescriptRuleset('error', 'flat/contents-typescript-error');
314
- index.configs['flat/contents-typescript-flavor'] = createContentsTypescriptFlavorRuleset('warn', 'flat/contents-typescript-flavor');
315
- index.configs['flat/contents-typescript-flavor-error'] = createContentsTypescriptFlavorRuleset('error', 'flat/contents-typescript-error-flavor');
316
- index.configs['flat/logical-typescript'] = createLogicalTypescriptRuleset('warn', 'flat/logical-typescript');
317
- index.configs['flat/logical-typescript-error'] = createLogicalTypescriptRuleset('error', 'flat/logical-typescript-error');
318
- index.configs['flat/logical-typescript-flavor'] = createLogicalTypescriptFlavorRuleset('warn', 'flat/logical-typescript-flavor');
319
- index.configs['flat/logical-typescript-flavor-error'] = createLogicalTypescriptFlavorRuleset('error', 'flat/logical-typescript-error-flavor');
320
- index.configs['flat/requirements-typescript'] = createRequirementsTypeScriptRuleset('warn', 'flat/requirements-typescript');
321
- index.configs['flat/requirements-typescript-error'] = createRequirementsTypeScriptRuleset('error', 'flat/requirements-typescript-error');
322
- index.configs['flat/requirements-typescript-flavor'] = createRequirementsTypeScriptFlavorRuleset('warn', 'flat/requirements-typescript-flavor');
323
- index.configs['flat/requirements-typescript-flavor-error'] = createRequirementsTypeScriptFlavorRuleset('error', 'flat/requirements-typescript-error-flavor');
324
- index.configs['flat/stylistic-typescript'] = createStylisticTypeScriptRuleset('warn', 'flat/stylistic-typescript');
325
- index.configs['flat/stylistic-typescript-error'] = createStylisticTypeScriptRuleset('error', 'flat/stylistic-typescript-error');
326
- index.configs['flat/stylistic-typescript-flavor'] = createStylisticTypeScriptFlavorRuleset('warn', 'flat/stylistic-typescript-flavor');
327
- index.configs['flat/stylistic-typescript-flavor-error'] = createStylisticTypeScriptFlavorRuleset('error', 'flat/stylistic-typescript-error-flavor');
328
- index.configs.examples = /** @type {import('eslint').Linter.Config[]} */[{
329
- files: ['**/*.js'],
330
- name: 'jsdoc/examples/processor',
331
- plugins: {
332
- examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)()
333
- },
334
- processor: 'examples/examples'
335
- }, {
336
- files: ['**/*.md/*.js'],
337
- name: 'jsdoc/examples/rules',
338
- rules: {
339
- // "always" newline rule at end unlikely in sample code
340
- 'eol-last': 0,
341
- // Wouldn't generally expect example paths to resolve relative to JS file
342
- 'import/no-unresolved': 0,
343
- // Snippets likely too short to always include import/export info
344
- 'import/unambiguous': 0,
345
- 'jsdoc/require-file-overview': 0,
346
- // The end of a multiline comment would end the comment the example is in.
347
- 'jsdoc/require-jsdoc': 0,
348
- // Unlikely to have inadvertent debugging within examples
349
- 'no-console': 0,
350
- // Often wish to start `@example` code after newline; also may use
351
- // empty lines for spacing
352
- 'no-multiple-empty-lines': 0,
353
- // Many variables in examples will be `undefined`
354
- 'no-undef': 0,
355
- // Common to define variables for clarity without always using them
356
- 'no-unused-vars': 0,
357
- // See import/no-unresolved
358
- 'node/no-missing-import': 0,
359
- 'node/no-missing-require': 0,
360
- // Can generally look nicer to pad a little even if code imposes more stringency
361
- 'padded-blocks': 0
362
- }
363
- }];
364
- index.configs['default-expressions'] = /** @type {import('eslint').Linter.Config[]} */[{
365
- files: ['**/*.js'],
366
- name: 'jsdoc/default-expressions/processor',
367
- plugins: {
368
- examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)({
369
- checkDefaults: true,
370
- checkParams: true,
371
- checkProperties: true
372
- })
373
- },
374
- processor: 'examples/examples'
375
- }, {
376
- files: ['**/*.jsdoc-defaults', '**/*.jsdoc-params', '**/*.jsdoc-properties'],
377
- name: 'jsdoc/default-expressions/rules',
378
- rules: {
379
- ...index.configs.examples[1].rules,
380
- 'chai-friendly/no-unused-expressions': 0,
381
- 'no-empty-function': 0,
382
- 'no-new': 0,
383
- 'no-unused-expressions': 0,
384
- quotes: ['error', 'double'],
385
- semi: ['error', 'never'],
386
- strict: 0
39
+ outputConfig = _indexCjs.default.configs[cfg.config];
387
40
  }
388
- }];
389
- index.configs['examples-and-default-expressions'] = /** @type {import('eslint').Linter.Config[]} */[{
390
- name: 'jsdoc/examples-and-default-expressions',
391
- plugins: {
392
- examples: (0, _getJsdocProcessorPlugin.getJsdocProcessorPlugin)({
393
- checkDefaults: true,
394
- checkParams: true,
395
- checkProperties: true
396
- })
397
- }
398
- }, ...index.configs.examples.map(config => {
399
- return {
400
- ...config,
401
- plugins: {}
402
- };
403
- }), ...index.configs['default-expressions'].map(config => {
404
- return {
405
- ...config,
406
- plugins: {}
41
+ outputConfig.settings = {
42
+ jsdoc: cfg?.mergeSettings === false ? cfg.settings : (0, _objectDeepMerge.merge)({}, cfg?.settings ?? {}, cfg?.config?.includes('recommended') ? {
43
+ // We may need to drop these for "typescript" (non-"flavor") configs,
44
+ // if support is later added: https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html
45
+ structuredTags: {
46
+ next: {
47
+ required: ['type']
48
+ },
49
+ throws: {
50
+ required: ['type']
51
+ },
52
+ yields: {
53
+ required: ['type']
54
+ }
55
+ }
56
+ } : {})
407
57
  };
408
- })];
409
- var _default = exports.default = index;
410
- module.exports = exports.default;
58
+ return outputConfig;
59
+ };
60
+ exports.jsdoc = jsdoc;
411
61
  //# sourceMappingURL=index.cjs.map