eslint-plugin-jsdoc 56.1.1 → 57.0.0
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.
- package/README.md +10 -11
- package/dist/cjs/index-cjs.d.ts +9 -0
- package/dist/cjs/iterateJsdoc.d.cts +6 -5
- package/dist/cjs/iterateJsdoc.d.ts +21 -5
- package/dist/exportParser.cjs +0 -6
- package/dist/exportParser.cjs.map +1 -1
- package/dist/index-cjs.cjs +103 -3
- package/dist/index-cjs.cjs.map +1 -1
- package/dist/index-cjs.d.ts +9 -0
- package/dist/index-esm.cjs +33 -10
- package/dist/index-esm.cjs.map +1 -1
- package/dist/index-esm.d.ts +27 -3
- package/dist/index.cjs +134 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +36 -3
- package/dist/iterateJsdoc.cjs +14 -8
- package/dist/iterateJsdoc.cjs.map +1 -1
- package/dist/iterateJsdoc.cts +4 -6
- package/dist/iterateJsdoc.d.ts +21 -5
- package/dist/jsdocUtils.cjs +0 -3
- package/dist/jsdocUtils.cjs.map +1 -1
- package/dist/rules/checkParamNames.cjs +1 -1
- package/dist/rules/checkParamNames.cjs.map +1 -1
- package/dist/rules/checkPropertyNames.cjs +1 -1
- package/dist/rules/checkPropertyNames.cjs.map +1 -1
- package/dist/rules/informativeDocs.cjs +0 -3
- package/dist/rules/informativeDocs.cjs.map +1 -1
- package/dist/rules/matchName.cjs +0 -1
- package/dist/rules/matchName.cjs.map +1 -1
- package/dist/rules/noMultiAsterisks.cjs +0 -2
- package/dist/rules/noMultiAsterisks.cjs.map +1 -1
- package/dist/rules/requireReturnsCheck.cjs +0 -2
- package/dist/rules/requireReturnsCheck.cjs.map +1 -1
- package/dist/rules/sortTags.cjs +0 -2
- package/dist/rules/sortTags.cjs.map +1 -1
- package/dist/rules/tagLines.cjs +0 -2
- package/dist/rules/tagLines.cjs.map +1 -1
- package/package.json +2 -1
- package/src/exportParser.js +0 -6
- package/src/index-cjs.js +120 -0
- package/src/index-esm.js +40 -13
- package/src/index.js +157 -12
- package/src/iterateJsdoc.cts +4 -6
- package/src/iterateJsdoc.js +17 -8
- package/src/jsdocUtils.js +0 -3
- package/src/rules/checkParamNames.js +1 -1
- package/src/rules/checkPropertyNames.js +1 -1
- package/src/rules/informativeDocs.js +0 -3
- package/src/rules/matchName.js +0 -1
- package/src/rules/noMultiAsterisks.js +0 -1
- package/src/rules/requireReturnsCheck.js +0 -1
- package/src/rules/sortTags.js +0 -2
- package/src/rules/tagLines.js +0 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["_objectDeepMerge","require","_getJsdocProcessorPlugin","_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","_typeFormatting","_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","typeFormatting","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","cfg","outputConfig","TypeError","basePath","ignores","language","languageOptions","linterOptions","settings","mergeSettings","merge","includes","structuredTags","next","required","throws","yields"],"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 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 typeFormatting from './rules/typeFormatting.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 '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/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/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 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\n/* eslint-disable jsdoc/valid-types -- Bug */\n/**\n * @type {((\n * cfg?: import('eslint').Linter.Config & {\n * mergeSettings?: boolean,\n * config?: `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\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 * }\n * ) => import('eslint').Linter.Config)}\n */\n/* eslint-enable jsdoc/valid-types -- Bug */\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 = 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\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 throws: {\n required: [\n 'type',\n ],\n },\n yields: {\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":[]}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["_objectDeepMerge","require","_getJsdocProcessorPlugin","_iterateJsdoc","_interopRequireDefault","_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","_typeFormatting","_validTypes","e","__esModule","default","buildForbidRuleDefinition","contextName","contexts","description","iterateJsdoc","info","comment","report","utils","contextStr","foundContext","findContext","message","context","contextSelected","meta","docs","url","fixable","schema","type","modifyContext","propertyDescriptors","Object","getOwnPropertyDescriptors","create","getPrototypeOf","options","value","nonGlobalSettings","exports","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","typeFormatting","validTypes","createRecommendedRuleset","warnOrError","flatName","name","plugins","jsdoc","createRecommendedTypeScriptRuleset","ruleset","typed","createRecommendedTypeScriptFlavorRuleset","createStandaloneRulesetFactory","ruleNames","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","cfg","outputConfig","TypeError","basePath","ignores","language","languageOptions","linterOptions","extraRuleDefinitions","forbid","entries","settings","mergeSettings","merge","includes","structuredTags","next","required"],"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 getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\nimport iterateJsdoc from './iterateJsdoc.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 typeFormatting from './rules/typeFormatting.js';\nimport validTypes from './rules/validTypes.js';\n\n/**\n * @param {{\n * contexts: (string|{\n * comment: string,\n * context: string,\n * message: string\n * })[],\n * description?: string,\n * contextName?: string\n * }} cfg\n * @returns {import('@eslint/core').RuleDefinition<\n * import('@eslint/core').RuleDefinitionTypeOptions\n * >}\n */\nexport const buildForbidRuleDefinition = ({\n contextName,\n contexts,\n description,\n}) => {\n return iterateJsdoc(({\n // context,\n info: {\n comment,\n },\n report,\n utils,\n }) => {\n const {\n contextStr,\n foundContext,\n } = utils.findContext(contexts, comment);\n\n // We are not on the *particular* matching context/comment, so don't assume\n // we need reporting\n if (!foundContext) {\n return;\n }\n\n const message = /** @type {import('./iterateJsdoc.js').ContextObject} */ (\n foundContext\n )?.message ??\n 'Syntax is restricted: {{context}}' +\n (comment ? ' with {{comment}}' : '');\n\n report(message, null, null, comment ? {\n comment,\n context: contextStr,\n } : {\n context: contextStr,\n });\n }, {\n contextSelected: true,\n meta: {\n docs: {\n description: description ?? contextName ?? 'Reports when certain comment structures are present.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header',\n },\n fixable: 'code',\n schema: [],\n type: 'suggestion',\n },\n modifyContext: (context) => {\n // Reproduce context object with our own `contexts`\n const propertyDescriptors = Object.getOwnPropertyDescriptors(context);\n return Object.create(\n Object.getPrototypeOf(context),\n {\n ...propertyDescriptors,\n options: {\n ...propertyDescriptors.options,\n value: [\n {\n contexts,\n },\n ],\n },\n },\n );\n },\n nonGlobalSettings: true,\n });\n};\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-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 }),\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-throws-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=throws]:not([parsedType.type]))',\n context: 'any',\n message: '@throws should have a type',\n },\n ],\n description: 'Requires a type for @throws tags',\n }),\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\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 }),\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'text-escaping': textEscaping,\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/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-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-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-throws-type': warnOrError,\n 'jsdoc/require-yields': warnOrError,\n 'jsdoc/require-yields-check': warnOrError,\n 'jsdoc/require-yields-type': warnOrError,\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': warnOrError,\n 'jsdoc/text-escaping': '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 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-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');\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\n/* eslint-disable jsdoc/valid-types -- Bug */\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 * contexts: (string|{\n * message: string,\n * context: string,\n * comment: string\n * })[]\n * }\n * }\n * }\n * }\n * ) => import('eslint').Linter.Config)}\n */\n/* eslint-enable jsdoc/valid-types -- Bug */\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 = 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 },\n ] of Object.entries(cfg.extraRuleDefinitions.forbid)) {\n outputConfig.plugins.jsdoc.rules[`forbid-${contextName}`] =\n buildForbidRuleDefinition({\n contextName,\n contexts,\n description,\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 },\n } :\n {},\n ),\n };\n\n return outputConfig;\n};\n\nexport {\n getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,52 @@
|
|
|
1
|
+
export function buildForbidRuleDefinition({ contextName, contexts, description, }: {
|
|
2
|
+
contexts: (string | {
|
|
3
|
+
comment: string;
|
|
4
|
+
context: string;
|
|
5
|
+
message: string;
|
|
6
|
+
})[];
|
|
7
|
+
description?: string;
|
|
8
|
+
contextName?: string;
|
|
9
|
+
}): import("@eslint/core").RuleDefinition<import("@eslint/core").RuleDefinitionTypeOptions>;
|
|
1
10
|
export default index;
|
|
2
11
|
/**
|
|
3
12
|
* @type {((
|
|
4
13
|
* cfg?: import('eslint').Linter.Config & {
|
|
5
|
-
* mergeSettings?: boolean,
|
|
6
14
|
* config?: `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,
|
|
15
|
+
* mergeSettings?: boolean,
|
|
7
16
|
* settings?: Partial<import('./iterateJsdoc.js').Settings>,
|
|
8
|
-
* rules?: {[key in keyof import('./rules.d.ts').Rules]?: import('eslint').Linter.RuleEntry<import('./rules.d.ts').Rules[key]>}
|
|
17
|
+
* rules?: {[key in keyof import('./rules.d.ts').Rules]?: import('eslint').Linter.RuleEntry<import('./rules.d.ts').Rules[key]>},
|
|
18
|
+
* extraRuleDefinitions?: {
|
|
19
|
+
* forbid: {
|
|
20
|
+
* [contextName: string]: {
|
|
21
|
+
* description?: string,
|
|
22
|
+
* contexts: (string|{
|
|
23
|
+
* message: string,
|
|
24
|
+
* context: string,
|
|
25
|
+
* comment: string
|
|
26
|
+
* })[]
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
9
30
|
* }
|
|
10
31
|
* ) => import('eslint').Linter.Config)}
|
|
11
32
|
*/
|
|
12
33
|
export const jsdoc: ((cfg?: import("eslint").Linter.Config & {
|
|
13
|
-
mergeSettings?: boolean;
|
|
14
34
|
config?: `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`;
|
|
35
|
+
mergeSettings?: boolean;
|
|
15
36
|
settings?: Partial<import("./iterateJsdoc.js").Settings>;
|
|
16
37
|
rules?: { [key in keyof import("./rules.d.ts").Rules]?: import("eslint").Linter.RuleEntry<import("./rules.d.ts").Rules[key]>; };
|
|
38
|
+
extraRuleDefinitions?: {
|
|
39
|
+
forbid: {
|
|
40
|
+
[contextName: string]: {
|
|
41
|
+
description?: string;
|
|
42
|
+
contexts: (string | {
|
|
43
|
+
message: string;
|
|
44
|
+
context: string;
|
|
45
|
+
comment: string;
|
|
46
|
+
})[];
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
};
|
|
17
50
|
}) => import("eslint").Linter.Config);
|
|
18
51
|
export { getJsdocProcessorPlugin } from "./getJsdocProcessorPlugin.js";
|
|
19
52
|
export type ConfigGroups = "recommended" | "stylistic" | "contents" | "logical" | "requirements";
|
package/dist/iterateJsdoc.cjs
CHANGED
|
@@ -550,8 +550,6 @@ const {
|
|
|
550
550
|
seedTokens
|
|
551
551
|
} = _commentParser.util;
|
|
552
552
|
|
|
553
|
-
// todo: Change these `any` types once importing types properly.
|
|
554
|
-
|
|
555
553
|
/**
|
|
556
554
|
* Should use ESLint rule's typing.
|
|
557
555
|
* @typedef {import('eslint').Rule.RuleMetaData} EslintRuleMeta
|
|
@@ -1506,8 +1504,14 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, sc, iterati
|
|
|
1506
1504
|
* mode: import('./jsdocUtils.js').ParserMode,
|
|
1507
1505
|
* preferredTypes: PreferredTypes,
|
|
1508
1506
|
* structuredTags: StructuredTags,
|
|
1509
|
-
* [
|
|
1510
|
-
*
|
|
1507
|
+
* contexts?: Context[],
|
|
1508
|
+
* augmentsExtendsReplacesDocs?: boolean,
|
|
1509
|
+
* ignoreReplacesDocs?: boolean,
|
|
1510
|
+
* implementsReplacesDocs?: boolean,
|
|
1511
|
+
* overrideReplacesDocs?: boolean,
|
|
1512
|
+
* ignoreInternal?: boolean,
|
|
1513
|
+
* ignorePrivate?: boolean,
|
|
1514
|
+
* exemptDestructuredRootsFromChecks?: boolean,
|
|
1511
1515
|
* }} Settings
|
|
1512
1516
|
*/
|
|
1513
1517
|
|
|
@@ -1658,7 +1662,7 @@ const makeReport = (context, commentNode) => {
|
|
|
1658
1662
|
* settings: Settings,
|
|
1659
1663
|
* utils: BasicUtils,
|
|
1660
1664
|
* }
|
|
1661
|
-
* ) =>
|
|
1665
|
+
* ) => void } JsdocVisitorBasic
|
|
1662
1666
|
*/
|
|
1663
1667
|
/**
|
|
1664
1668
|
* @typedef {(
|
|
@@ -1683,7 +1687,7 @@ const makeReport = (context, commentNode) => {
|
|
|
1683
1687
|
* settings: Settings,
|
|
1684
1688
|
* utils: Utils,
|
|
1685
1689
|
* }
|
|
1686
|
-
* ) =>
|
|
1690
|
+
* ) => void } JsdocVisitor
|
|
1687
1691
|
*/
|
|
1688
1692
|
|
|
1689
1693
|
/**
|
|
@@ -1777,6 +1781,7 @@ const getIndentAndJSDoc = function (lines, jsdocNode) {
|
|
|
1777
1781
|
* @property {EslintRuleMeta} meta ESLint rule meta
|
|
1778
1782
|
* @property {import('./jsdocUtils.js').DefaultContexts} [contextDefaults] Any default contexts
|
|
1779
1783
|
* @property {true} [contextSelected] Whether to force a `contexts` check
|
|
1784
|
+
* @property {(context: import('eslint').Rule.RuleContext) => import('eslint').Rule.RuleContext} [modifyContext] Modify the rule's context object
|
|
1780
1785
|
* @property {true} [iterateAllJsdocs] Whether to iterate all JSDoc blocks by default
|
|
1781
1786
|
* regardless of context
|
|
1782
1787
|
* @property {true} [checkPrivate] Whether to check `@private` blocks (normally exempted)
|
|
@@ -2003,13 +2008,14 @@ function iterateJsdoc(iterator, ruleConfig) {
|
|
|
2003
2008
|
return {
|
|
2004
2009
|
/**
|
|
2005
2010
|
* The entrypoint for the JSDoc rule.
|
|
2006
|
-
* @param {import('eslint').Rule.RuleContext}
|
|
2011
|
+
* @param {import('eslint').Rule.RuleContext} ctx
|
|
2007
2012
|
* a reference to the context which hold all important information
|
|
2008
2013
|
* like settings and the sourcecode to check.
|
|
2009
2014
|
* @returns {import('eslint').Rule.RuleListener}
|
|
2010
2015
|
* a listener with parser callback function.
|
|
2011
2016
|
*/
|
|
2012
|
-
create(
|
|
2017
|
+
create(ctx) {
|
|
2018
|
+
const context = ruleConfig.modifyContext ? ruleConfig.modifyContext(ctx) : ctx;
|
|
2013
2019
|
const settings = getSettings(context);
|
|
2014
2020
|
if (!settings) {
|
|
2015
2021
|
return {};
|