index.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _checkAccess = _interopRequireDefault(require("./rules/checkAccess.js"));
  7. var _checkAlignment = _interopRequireDefault(require("./rules/checkAlignment.js"));
  8. var _checkExamples = _interopRequireDefault(require("./rules/checkExamples.js"));
  9. var _checkIndentation = _interopRequireDefault(require("./rules/checkIndentation.js"));
  10. var _checkLineAlignment = _interopRequireDefault(require("./rules/checkLineAlignment.js"));
  11. var _checkParamNames = _interopRequireDefault(require("./rules/checkParamNames.js"));
  12. var _checkPropertyNames = _interopRequireDefault(require("./rules/checkPropertyNames.js"));
  13. var _checkSyntax = _interopRequireDefault(require("./rules/checkSyntax.js"));
  14. var _checkTagNames = _interopRequireDefault(require("./rules/checkTagNames.js"));
  15. var _checkTypes = _interopRequireDefault(require("./rules/checkTypes.js"));
  16. var _checkValues = _interopRequireDefault(require("./rules/checkValues.js"));
  17. var _emptyTags = _interopRequireDefault(require("./rules/emptyTags.js"));
  18. var _implementsOnClasses = _interopRequireDefault(require("./rules/implementsOnClasses.js"));
  19. var _importsAsDependencies = _interopRequireDefault(require("./rules/importsAsDependencies.js"));
  20. var _informativeDocs = _interopRequireDefault(require("./rules/informativeDocs.js"));
  21. var _matchDescription = _interopRequireDefault(require("./rules/matchDescription.js"));
  22. var _matchName = _interopRequireDefault(require("./rules/matchName.js"));
  23. var _multilineBlocks = _interopRequireDefault(require("./rules/multilineBlocks.js"));
  24. var _noBadBlocks = _interopRequireDefault(require("./rules/noBadBlocks.js"));
  25. var _noBlankBlockDescriptions = _interopRequireDefault(require("./rules/noBlankBlockDescriptions.js"));
  26. var _noBlankBlocks = _interopRequireDefault(require("./rules/noBlankBlocks.js"));
  27. var _noDefaults = _interopRequireDefault(require("./rules/noDefaults.js"));
  28. var _noMissingSyntax = _interopRequireDefault(require("./rules/noMissingSyntax.js"));
  29. var _noMultiAsterisks = _interopRequireDefault(require("./rules/noMultiAsterisks.js"));
  30. var _noRestrictedSyntax = _interopRequireDefault(require("./rules/noRestrictedSyntax.js"));
  31. var _noTypes = _interopRequireDefault(require("./rules/noTypes.js"));
  32. var _noUndefinedTypes = _interopRequireDefault(require("./rules/noUndefinedTypes.js"));
  33. var _requireAsteriskPrefix = _interopRequireDefault(require("./rules/requireAsteriskPrefix.js"));
  34. var _requireDescription = _interopRequireDefault(require("./rules/requireDescription.js"));
  35. var _requireDescriptionCompleteSentence = _interopRequireDefault(require("./rules/requireDescriptionCompleteSentence.js"));
  36. var _requireExample = _interopRequireDefault(require("./rules/requireExample.js"));
  37. var _requireFileOverview = _interopRequireDefault(require("./rules/requireFileOverview.js"));
  38. var _requireHyphenBeforeParamDescription = _interopRequireDefault(require("./rules/requireHyphenBeforeParamDescription.js"));
  39. var _requireJsdoc = _interopRequireDefault(require("./rules/requireJsdoc.js"));
  40. var _requireParam = _interopRequireDefault(require("./rules/requireParam.js"));
  41. var _requireParamDescription = _interopRequireDefault(require("./rules/requireParamDescription.js"));
  42. var _requireParamName = _interopRequireDefault(require("./rules/requireParamName.js"));
  43. var _requireParamType = _interopRequireDefault(require("./rules/requireParamType.js"));
  44. var _requireProperty = _interopRequireDefault(require("./rules/requireProperty.js"));
  45. var _requirePropertyDescription = _interopRequireDefault(require("./rules/requirePropertyDescription.js"));
  46. var _requirePropertyName = _interopRequireDefault(require("./rules/requirePropertyName.js"));
  47. var _requirePropertyType = _interopRequireDefault(require("./rules/requirePropertyType.js"));
  48. var _requireReturns = _interopRequireDefault(require("./rules/requireReturns.js"));
  49. var _requireReturnsCheck = _interopRequireDefault(require("./rules/requireReturnsCheck.js"));
  50. var _requireReturnsDescription = _interopRequireDefault(require("./rules/requireReturnsDescription.js"));
  51. var _requireReturnsType = _interopRequireDefault(require("./rules/requireReturnsType.js"));
  52. var _requireThrows = _interopRequireDefault(require("./rules/requireThrows.js"));
  53. var _requireYields = _interopRequireDefault(require("./rules/requireYields.js"));
  54. var _requireYieldsCheck = _interopRequireDefault(require("./rules/requireYieldsCheck.js"));
  55. var _sortTags = _interopRequireDefault(require("./rules/sortTags.js"));
  56. var _tagLines = _interopRequireDefault(require("./rules/tagLines.js"));
  57. var _textEscaping = _interopRequireDefault(require("./rules/textEscaping.js"));
  58. var _validTypes = _interopRequireDefault(require("./rules/validTypes.js"));
  59. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  60. /**
  61. * @type {import('eslint').ESLint.Plugin & {
  62. * configs: Record<string, import('eslint').ESLint.ConfigData|{}>
  63. * }}
  64. */
  65. const index = {
  66. configs: {},
  67. rules: {
  68. 'check-access': _checkAccess.default,
  69. 'check-alignment': _checkAlignment.default,
  70. 'check-examples': _checkExamples.default,
  71. 'check-indentation': _checkIndentation.default,
  72. 'check-line-alignment': _checkLineAlignment.default,
  73. 'check-param-names': _checkParamNames.default,
  74. 'check-property-names': _checkPropertyNames.default,
  75. 'check-syntax': _checkSyntax.default,
  76. 'check-tag-names': _checkTagNames.default,
  77. 'check-types': _checkTypes.default,
  78. 'check-values': _checkValues.default,
  79. 'empty-tags': _emptyTags.default,
  80. 'implements-on-classes': _implementsOnClasses.default,
  81. 'imports-as-dependencies': _importsAsDependencies.default,
  82. 'informative-docs': _informativeDocs.default,
  83. 'match-description': _matchDescription.default,
  84. 'match-name': _matchName.default,
  85. 'multiline-blocks': _multilineBlocks.default,
  86. 'no-bad-blocks': _noBadBlocks.default,
  87. 'no-blank-block-descriptions': _noBlankBlockDescriptions.default,
  88. 'no-blank-blocks': _noBlankBlocks.default,
  89. 'no-defaults': _noDefaults.default,
  90. 'no-missing-syntax': _noMissingSyntax.default,
  91. 'no-multi-asterisks': _noMultiAsterisks.default,
  92. 'no-restricted-syntax': _noRestrictedSyntax.default,
  93. 'no-types': _noTypes.default,
  94. 'no-undefined-types': _noUndefinedTypes.default,
  95. 'require-asterisk-prefix': _requireAsteriskPrefix.default,
  96. 'require-description': _requireDescription.default,
  97. 'require-description-complete-sentence': _requireDescriptionCompleteSentence.default,
  98. 'require-example': _requireExample.default,
  99. 'require-file-overview': _requireFileOverview.default,
  100. 'require-hyphen-before-param-description': _requireHyphenBeforeParamDescription.default,
  101. 'require-jsdoc': _requireJsdoc.default,
  102. 'require-param': _requireParam.default,
  103. 'require-param-description': _requireParamDescription.default,
  104. 'require-param-name': _requireParamName.default,
  105. 'require-param-type': _requireParamType.default,
  106. 'require-property': _requireProperty.default,
  107. 'require-property-description': _requirePropertyDescription.default,
  108. 'require-property-name': _requirePropertyName.default,
  109. 'require-property-type': _requirePropertyType.default,
  110. 'require-returns': _requireReturns.default,
  111. 'require-returns-check': _requireReturnsCheck.default,
  112. 'require-returns-description': _requireReturnsDescription.default,
  113. 'require-returns-type': _requireReturnsType.default,
  114. 'require-throws': _requireThrows.default,
  115. 'require-yields': _requireYields.default,
  116. 'require-yields-check': _requireYieldsCheck.default,
  117. 'sort-tags': _sortTags.default,
  118. 'tag-lines': _tagLines.default,
  119. 'text-escaping': _textEscaping.default,
  120. 'valid-types': _validTypes.default
  121. }
  122. };
  123. /**
  124. * @param {"warn"|"error"} warnOrError
  125. * @param {boolean} [flat]
  126. * @returns {import('eslint').ESLint.ConfigData | {plugins: {}, rules: {}}}
  127. */
  128. const createRecommendedRuleset = (warnOrError, flat) => {
  129. return {
  130. plugins: flat ? {
  131. jsdoc: index
  132. } : ['jsdoc'],
  133. rules: {
  134. 'jsdoc/check-access': warnOrError,
  135. 'jsdoc/check-alignment': warnOrError,
  136. 'jsdoc/check-examples': 'off',
  137. 'jsdoc/check-indentation': 'off',
  138. 'jsdoc/check-line-alignment': 'off',
  139. 'jsdoc/check-param-names': warnOrError,
  140. 'jsdoc/check-property-names': warnOrError,
  141. 'jsdoc/check-syntax': 'off',
  142. 'jsdoc/check-tag-names': warnOrError,
  143. 'jsdoc/check-types': warnOrError,
  144. 'jsdoc/check-values': warnOrError,
  145. 'jsdoc/empty-tags': warnOrError,
  146. 'jsdoc/implements-on-classes': warnOrError,
  147. 'jsdoc/imports-as-dependencies': 'off',
  148. 'jsdoc/informative-docs': 'off',
  149. 'jsdoc/match-description': 'off',
  150. 'jsdoc/match-name': 'off',
  151. 'jsdoc/multiline-blocks': warnOrError,
  152. 'jsdoc/no-bad-blocks': 'off',
  153. 'jsdoc/no-blank-block-descriptions': 'off',
  154. 'jsdoc/no-blank-blocks': 'off',
  155. 'jsdoc/no-defaults': warnOrError,
  156. 'jsdoc/no-missing-syntax': 'off',
  157. 'jsdoc/no-multi-asterisks': warnOrError,
  158. 'jsdoc/no-restricted-syntax': 'off',
  159. 'jsdoc/no-types': 'off',
  160. 'jsdoc/no-undefined-types': warnOrError,
  161. 'jsdoc/require-asterisk-prefix': 'off',
  162. 'jsdoc/require-description': 'off',
  163. 'jsdoc/require-description-complete-sentence': 'off',
  164. 'jsdoc/require-example': 'off',
  165. 'jsdoc/require-file-overview': 'off',
  166. 'jsdoc/require-hyphen-before-param-description': 'off',
  167. 'jsdoc/require-jsdoc': warnOrError,
  168. 'jsdoc/require-param': warnOrError,
  169. 'jsdoc/require-param-description': warnOrError,
  170. 'jsdoc/require-param-name': warnOrError,
  171. 'jsdoc/require-param-type': warnOrError,
  172. 'jsdoc/require-property': warnOrError,
  173. 'jsdoc/require-property-description': warnOrError,
  174. 'jsdoc/require-property-name': warnOrError,
  175. 'jsdoc/require-property-type': warnOrError,
  176. 'jsdoc/require-returns': warnOrError,
  177. 'jsdoc/require-returns-check': warnOrError,
  178. 'jsdoc/require-returns-description': warnOrError,
  179. 'jsdoc/require-returns-type': warnOrError,
  180. 'jsdoc/require-throws': 'off',
  181. 'jsdoc/require-yields': warnOrError,
  182. 'jsdoc/require-yields-check': warnOrError,
  183. 'jsdoc/sort-tags': 'off',
  184. 'jsdoc/tag-lines': warnOrError,
  185. 'jsdoc/text-escaping': 'off',
  186. 'jsdoc/valid-types': warnOrError
  187. }
  188. };
  189. };
  190. /**
  191. * @param {"warn"|"error"} warnOrError
  192. * @param {boolean} [flat]
  193. * @returns {import('eslint').ESLint.ConfigData|{}}
  194. */
  195. const createRecommendedTypeScriptRuleset = (warnOrError, flat) => {
  196. const ruleset = createRecommendedRuleset(warnOrError, flat);
  197. return {
  198. ...ruleset,
  199. rules: {
  200. ...ruleset.rules,
  201. /* eslint-disable indent -- Extra indent to avoid use by auto-rule-editing */
  202. 'jsdoc/check-tag-names': [warnOrError, {
  203. typed: true
  204. }],
  205. 'jsdoc/no-types': warnOrError,
  206. 'jsdoc/no-undefined-types': 'off',
  207. 'jsdoc/require-param-type': 'off',
  208. 'jsdoc/require-property-type': 'off',
  209. 'jsdoc/require-returns-type': 'off'
  210. /* eslint-enable indent */
  211. }
  212. };
  213. };
  214. /**
  215. * @param {"warn"|"error"} warnOrError
  216. * @param {boolean} [flat]
  217. * @returns {import('eslint').ESLint.ConfigData|{}}
  218. */
  219. const createRecommendedTypeScriptFlavorRuleset = (warnOrError, flat) => {
  220. const ruleset = createRecommendedRuleset(warnOrError, flat);
  221. return {
  222. ...ruleset,
  223. rules: {
  224. ...ruleset.rules,
  225. /* eslint-disable indent -- Extra indent to avoid use by auto-rule-editing */
  226. 'jsdoc/no-undefined-types': 'off'
  227. /* eslint-enable indent */
  228. }
  229. };
  230. };
  231. /* istanbul ignore if -- TS */
  232. if (!index.configs) {
  233. throw new Error('TypeScript guard');
  234. }
  235. index.configs.recommended = createRecommendedRuleset('warn');
  236. index.configs['recommended-error'] = createRecommendedRuleset('error');
  237. index.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');
  238. index.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');
  239. index.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');
  240. index.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');
  241. index.configs['flat/recommended'] = createRecommendedRuleset('warn', true);
  242. index.configs['flat/recommended-error'] = createRecommendedRuleset('error', true);
  243. index.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', true);
  244. index.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', true);
  245. index.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', true);
  246. index.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', true);
  247. var _default = exports.default = index;
  248. module.exports = exports.default;
  249. //# sourceMappingURL=index.js.map