UNPKG

31.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/iterateJsdoc.js"],"names":["skipSeeLink","parser","str","data","tag","match","parseComment","commentNode","indent","trim","value","parsers","commentParser","PARSERS","parse_tag","parse_type","includes","parse_name","parse_description","errors","length","result","description","undefined","source","getUtils","node","jsdoc","jsdocNode","tagNamePreference","overrideReplacesDocs","implementsReplacesDocs","augmentsExtendsReplacesDocs","maxLines","minLines","mode","report","context","ancestors","getAncestors","sourceCode","getSourceCode","utils","stringify","tagBlock","jsdocUtils","getIndent","slice","reportJSDoc","msg","handler","fixer","replacement","replaceText","getFunctionParameterNames","isConstructor","parent","kind","isSetter","getJsdocParameterNamesDeep","param","getPreferredTagName","tagName","getJsdocParameterNames","skipReportingBlockedTag","allowObjectReturn","defaultMessage","ret","isObject","hasTag","blocked","message","getTags","isValidTag","name","definedTags","hasATag","avoidDocs","classHasTag","exemptedBy","_","get","getPresentTags","tagMustHaveEitherTypeOrNamepath","tagMightHaveEitherTypeOrNamepath","tagMustHaveNamepath","tagMightHaveNamepath","tagMustHaveType","tagMightHaveAType","isNamepathDefiningTag","hasDefinedTypeReturnTag","hasReturnValue","isAsync","async","filterTags","item","tagList","filter","tags","getTagsByType","hasOptionTag","Boolean","getClassNode","greatGrandParent","getAncestor","greatGrandParentValue","getFirstToken","getClassJsdoc","classNode","classJsdocNode","repeat","loc","start","column","classJsdoc","forEachPreferredTag","arrayHandler","targetTagName","matchingJsdocTags","forEach","matchingJsdocTag","reportSettings","line","getSettings","settings","ignorePrivate","Number","preferredTypes","makeReport","fix","jsdocLoc","lineNumber","end","colNumber","iterateAllJsdocs","iterator","ruleConfig","create","comments","getAllComments","comment","test","getText","sourceLine","lines","charAt","noTrim","meta","iterateJsdoc","metaType","TypeError","checkJsdoc","contextDefaults","contexts","enforcedContexts","getContextObject","ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"],"mappings":"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","sourcesContent":["// eslint-disable-next-line import/no-named-default\nimport {default as commentParser, stringify as commentStringify} from 'comment-parser';\nimport _ from 'lodash';\nimport jsdocUtils from './jsdocUtils';\nimport getJSDocComment from './eslint/getJSDocComment';\n\nconst skipSeeLink = (parser) => {\n return (str, data) => {\n if (data.tag === 'see' && str.match(/\\{@link.+?\\}/u)) {\n return null;\n }\n\n return parser(str, data);\n };\n};\n\n/**\n *\n * @param {object} commentNode\n * @param {string} indent Whitespace\n * @param {boolean} [trim=true]\n * @returns {object}\n */\nconst parseComment = (commentNode, indent, trim = true) => {\n // Preserve JSDoc block start/end indentation.\n return commentParser(`${indent}/*${commentNode.value}${indent}*/`, {\n // @see https://github.com/yavorskiy/comment-parser/issues/21\n parsers: [\n commentParser.PARSERS.parse_tag,\n skipSeeLink(commentParser.PARSERS.parse_type),\n skipSeeLink(\n (str, data) => {\n if ([\n 'example', 'return', 'returns', 'throws', 'exception',\n 'access', 'version', 'since', 'license', 'author',\n ].includes(data.tag)) {\n return null;\n }\n\n return commentParser.PARSERS.parse_name(str, data);\n },\n ),\n trim ?\n commentParser.PARSERS.parse_description :\n\n // parse_description\n (str, data) => {\n // Only expected throw in previous step is if bad name (i.e.,\n // missing end bracket on optional name), but `@example`\n // skips name parsing\n /* istanbul ignore next */\n if (data.errors && data.errors.length) {\n return null;\n }\n\n // Tweak original regex to capture only single optional space\n const result = str.match(/^ ?((.|\\s)+)?/u);\n\n // Always has at least whitespace due to `indent` we've added\n /* istanbul ignore next */\n if (result) {\n return {\n data: {\n description: result[1] === undefined ? '' : result[1],\n },\n source: result[0],\n };\n }\n\n // Always has at least whitespace due to `indent` we've added\n /* istanbul ignore next */\n return null;\n },\n ],\n trim,\n })[0] || {};\n};\n\nconst getUtils = (\n node,\n jsdoc,\n jsdocNode,\n {\n tagNamePreference,\n overrideReplacesDocs,\n implementsReplacesDocs,\n augmentsExtendsReplacesDocs,\n maxLines,\n minLines,\n mode,\n },\n report,\n context,\n) => {\n const ancestors = context.getAncestors();\n const sourceCode = context.getSourceCode();\n\n const utils = {};\n\n utils.stringify = (tagBlock) => {\n const indent = jsdocUtils.getIndent(sourceCode);\n\n return commentStringify([tagBlock], {indent}).slice(indent.length - 1);\n };\n\n utils.reportJSDoc = (msg, tag, handler) => {\n report(msg, handler ? (fixer) => {\n handler();\n const replacement = utils.stringify(jsdoc);\n\n return fixer.replaceText(jsdocNode, replacement);\n } : null, tag);\n };\n\n utils.getFunctionParameterNames = () => {\n return jsdocUtils.getFunctionParameterNames(node);\n };\n\n utils.isConstructor = () => {\n return node.parent && node.parent.kind === 'constructor';\n };\n\n utils.isSetter = () => {\n return node.parent.kind === 'set';\n };\n\n utils.getJsdocParameterNamesDeep = () => {\n const param = utils.getPreferredTagName({tagName: 'param'});\n if (!param) {\n return false;\n }\n\n return jsdocUtils.getJsdocParameterNamesDeep(jsdoc, param);\n };\n\n utils.getJsdocParameterNames = () => {\n const param = utils.getPreferredTagName({tagName: 'param'});\n if (!param) {\n return false;\n }\n\n return jsdocUtils.getJsdocParameterNames(jsdoc, param);\n };\n\n utils.getPreferredTagName = ({tagName, skipReportingBlockedTag = false, allowObjectReturn = false, defaultMessage = `Unexpected tag \\`@${tagName}\\``}) => {\n const ret = jsdocUtils.getPreferredTagName(context, mode, tagName, tagNamePreference);\n const isObject = ret && typeof ret === 'object';\n if (utils.hasTag(tagName) && (ret === false || isObject && !ret.replacement)) {\n if (skipReportingBlockedTag) {\n return {\n blocked: true,\n tagName,\n };\n }\n const message = isObject && ret.message || defaultMessage;\n report(message, null, utils.getTags(tagName)[0]);\n\n return false;\n }\n\n return isObject && !allowObjectReturn ? ret.replacement : ret;\n };\n\n utils.isValidTag = (name, definedTags) => {\n return jsdocUtils.isValidTag(context, mode, name, definedTags);\n };\n\n utils.hasATag = (name) => {\n return jsdocUtils.hasATag(jsdoc, name);\n };\n\n utils.hasTag = (name) => {\n return jsdocUtils.hasTag(jsdoc, name);\n };\n\n utils.avoidDocs = () => {\n if (\n overrideReplacesDocs !== false &&\n (utils.hasTag('override') || utils.classHasTag('override')) ||\n implementsReplacesDocs !== false &&\n (utils.hasTag('implements') || utils.classHasTag('implements')) ||\n\n // inheritdoc implies that all documentation is inherited; see https://jsdoc.app/tags-inheritdoc.html\n utils.hasTag('inheritdoc') ||\n\n augmentsExtendsReplacesDocs &&\n (utils.hasATag(['augments', 'extends']) ||\n utils.classHasTag('augments') ||\n utils.classHasTag('extends'))) {\n return true;\n }\n\n const exemptedBy = _.get(context, 'options[0].exemptedBy');\n if (exemptedBy && exemptedBy.length && utils.getPresentTags(exemptedBy).length) {\n return true;\n }\n\n return false;\n };\n\n utils.tagMustHaveEitherTypeOrNamepath = (tagName) => {\n return jsdocUtils.tagMustHaveEitherTypeOrNamepath(tagName);\n };\n\n utils.tagMightHaveEitherTypeOrNamepath = (tagName) => {\n return jsdocUtils.tagMightHaveEitherTypeOrNamepath(mode, tagName);\n };\n\n utils.tagMustHaveNamepath = (tagName) => {\n return jsdocUtils.tagMustHaveNamepath(tagName);\n };\n\n utils.tagMightHaveNamepath = (tagName) => {\n return jsdocUtils.tagMightHaveNamepath(tagName);\n };\n\n utils.tagMustHaveType = (tagName) => {\n return jsdocUtils.tagMustHaveType(tagName);\n };\n\n utils.tagMightHaveAType = (tagName) => {\n return jsdocUtils.tagMightHaveAType(mode, tagName);\n };\n\n utils.isNamepathDefiningTag = (tagName) => {\n return jsdocUtils.isNamepathDefiningTag(tagName);\n };\n\n utils.hasDefinedTypeReturnTag = (tag) => {\n return jsdocUtils.hasDefinedTypeReturnTag(tag);\n };\n\n utils.hasReturnValue = () => {\n return jsdocUtils.hasReturnValue(node);\n };\n\n utils.isAsync = () => {\n return node.async;\n };\n\n utils.getTags = (tagName) => {\n return utils.filterTags((item) => {\n return item.tag === tagName;\n });\n };\n\n utils.getPresentTags = (tagList) => {\n return utils.filterTags((tag) => {\n return tagList.includes(tag.tag);\n });\n };\n\n utils.filterTags = (filter) => {\n return jsdocUtils.filterTags(jsdoc.tags, filter);\n };\n\n utils.getTagsByType = (tags) => {\n return jsdocUtils.getTagsByType(context, mode, tags, tagNamePreference);\n };\n\n utils.hasOptionTag = (tagName) => {\n const tags = _.get(context, 'options[0].tags');\n\n return Boolean(tags && tags.includes(tagName));\n };\n\n utils.getClassNode = () => {\n // Ancestors missing in `Program` comment iteration\n const greatGrandParent = ancestors.length ?\n ancestors.slice(-3)[0] :\n jsdocUtils.getAncestor(sourceCode, jsdocNode, 3);\n\n const greatGrandParentValue = greatGrandParent && sourceCode.getFirstToken(greatGrandParent).value;\n\n if (greatGrandParentValue === 'class') {\n return greatGrandParent;\n }\n\n return false;\n };\n\n utils.getClassJsdoc = () => {\n const classNode = utils.getClassNode();\n const classJsdocNode = getJSDocComment(sourceCode, classNode, {\n maxLines,\n minLines,\n });\n\n if (classJsdocNode) {\n const indent = ' '.repeat(classJsdocNode.loc.start.column);\n\n return parseComment(classJsdocNode, indent);\n }\n\n return null;\n };\n\n utils.classHasTag = (tagName) => {\n const classJsdoc = utils.getClassJsdoc();\n\n return classJsdoc && jsdocUtils.hasTag(classJsdoc, tagName);\n };\n\n utils.forEachPreferredTag = (tagName, arrayHandler, skipReportingBlockedTag = false) => {\n const targetTagName = utils.getPreferredTagName({\n skipReportingBlockedTag,\n tagName,\n });\n if (!targetTagName ||\n skipReportingBlockedTag && targetTagName && typeof targetTagName === 'object'\n ) {\n return;\n }\n const matchingJsdocTags = _.filter(jsdoc.tags || [], {\n tag: targetTagName,\n });\n\n matchingJsdocTags.forEach((matchingJsdocTag) => {\n arrayHandler(matchingJsdocTag, targetTagName);\n });\n };\n\n utils.reportSettings = (message) => {\n context.report({\n loc: {\n start: {\n column: 1,\n line: 1,\n },\n },\n message,\n });\n };\n\n return utils;\n};\n\nconst getSettings = (context) => {\n const settings = {};\n\n // All rules\n settings.ignorePrivate = Boolean(_.get(context, 'settings.jsdoc.ignorePrivate'));\n settings.minLines = Number(_.get(context, 'settings.jsdoc.minLines', 0));\n settings.maxLines = Number(_.get(context, 'settings.jsdoc.maxLines', 1));\n\n // `check-tag-names` and many returns/param rules\n settings.tagNamePreference = _.get(context, 'settings.jsdoc.tagNamePreference') || {};\n\n // `check-types` and `no-undefined-types`\n settings.preferredTypes = _.get(context, 'settings.jsdoc.preferredTypes') || {};\n\n // `require-param`, `require-description`, `require-example`, `require-returns`\n settings.overrideReplacesDocs = _.get(context, 'settings.jsdoc.overrideReplacesDocs');\n settings.implementsReplacesDocs = _.get(context, 'settings.jsdoc.implementsReplacesDocs');\n settings.augmentsExtendsReplacesDocs = _.get(context, 'settings.jsdoc.augmentsExtendsReplacesDocs');\n\n // Many rules, e.g., `check-tag-names`\n settings.mode = _.get(context, 'settings.jsdoc.mode') || 'jsdoc';\n\n return settings;\n};\n\n/**\n * Create the report function\n *\n * @param {object} context\n * @param {object} commentNode\n */\nconst makeReport = (context, commentNode) => {\n const report = (message, fix = null, jsdocLoc = null, data = null) => {\n let loc;\n\n if (jsdocLoc) {\n const lineNumber = commentNode.loc.start.line + jsdocLoc.line;\n\n loc = {\n end: {line: lineNumber},\n start: {line: lineNumber},\n };\n if (jsdocLoc.column) {\n const colNumber = commentNode.loc.start.column + jsdocLoc.column;\n\n loc.end.column = colNumber;\n loc.start.column = colNumber;\n }\n }\n\n context.report({\n data,\n fix,\n loc,\n message,\n node: commentNode,\n });\n };\n\n return report;\n};\n\n/**\n * @typedef {ReturnType<typeof getUtils>} Utils\n * @typedef {ReturnType<typeof getSettings>} Settings\n * @typedef {(\n * arg: {\n * context: object,\n * sourceCode: object,\n * indent: string,\n * jsdoc: object,\n * jsdocNode: object,\n * node: object | null,\n * report: ReturnType<typeof makeReport>,\n * settings: Settings,\n * utils: Utils,\n * }\n * ) => any } JsdocVisitor\n */\n\n/**\n * Create an eslint rule that iterates over all JSDocs, regardless of whether\n * they are attached to a function-like node.\n *\n * @param {JsdocVisitor} iterator\n * @param {{meta: any}} ruleConfig\n */\nconst iterateAllJsdocs = (iterator, ruleConfig) => {\n return {\n create (context) {\n return {\n 'Program' () {\n const sourceCode = context.getSourceCode();\n const comments = sourceCode.getAllComments();\n\n comments.forEach((comment) => {\n if (!(/^\\/\\*\\*\\s/).test(sourceCode.getText(comment))) {\n return;\n }\n\n const sourceLine = sourceCode.lines[comment.loc.start.line - 1];\n const indent = sourceLine.charAt(0).repeat(comment.loc.start.column);\n const jsdoc = parseComment(comment, indent, !ruleConfig.noTrim);\n const settings = getSettings(context);\n const report = makeReport(context, comment);\n const jsdocNode = comment;\n\n iterator({\n context,\n indent,\n jsdoc,\n jsdocNode,\n node: null,\n report,\n settings,\n sourceCode,\n utils: getUtils(null, jsdoc, jsdocNode, settings, report, context),\n });\n });\n },\n };\n },\n meta: ruleConfig.meta,\n };\n};\n\nexport {\n getSettings,\n parseComment,\n};\n\n/**\n * @param {JsdocVisitor} iterator\n * @param {{\n * meta: any,\n * contextDefaults?: true | string[],\n * iterateAllJsdocs?: true,\n * }} ruleConfig\n */\nexport default function iterateJsdoc (iterator, ruleConfig) {\n const metaType = _.get(ruleConfig, 'meta.type');\n if (!metaType || !['problem', 'suggestion', 'layout'].includes(metaType)) {\n throw new TypeError('Rule must include `meta.type` option (with value \"problem\", \"suggestion\", or \"layout\")');\n }\n if (typeof iterator !== 'function') {\n throw new TypeError('The iterator argument must be a function.');\n }\n\n if (ruleConfig.iterateAllJsdocs) {\n return iterateAllJsdocs(iterator, {\n meta: ruleConfig.meta,\n noTrim: ruleConfig.noTrim,\n });\n }\n\n return {\n /**\n * The entrypoint for the JSDoc rule.\n *\n * @param {*} context\n * a reference to the context which hold all important information\n * like settings and the sourcecode to check.\n * @returns {object}\n * a list with parser callback function.\n */\n create (context) {\n const sourceCode = context.getSourceCode();\n\n const settings = getSettings(context);\n\n const checkJsdoc = (node) => {\n const jsdocNode = getJSDocComment(sourceCode, node, settings);\n\n if (!jsdocNode) {\n return;\n }\n\n const sourceLine = sourceCode.lines[jsdocNode.loc.start.line - 1];\n\n const indent = sourceLine.charAt(0).repeat(jsdocNode.loc.start.column);\n\n const jsdoc = parseComment(jsdocNode, indent);\n\n const report = makeReport(context, jsdocNode);\n\n const utils = getUtils(\n node,\n jsdoc,\n jsdocNode,\n settings,\n report,\n context,\n );\n\n if (\n settings.ignorePrivate &&\n utils.hasTag('private')\n ) {\n return;\n }\n\n iterator({\n context,\n indent,\n jsdoc,\n jsdocNode,\n node,\n report,\n settings,\n sourceCode,\n utils,\n });\n };\n\n if (ruleConfig.contextDefaults) {\n const contexts = jsdocUtils.enforcedContexts(context, ruleConfig.contextDefaults);\n\n return jsdocUtils.getContextObject(contexts, checkJsdoc);\n }\n\n return {\n ArrowFunctionExpression: checkJsdoc,\n FunctionDeclaration: checkJsdoc,\n FunctionExpression: checkJsdoc,\n };\n },\n meta: ruleConfig.meta,\n };\n}\n"],"file":"iterateJsdoc.js"}
\No newline at end of file