eslint-plugin-jsdoc 39.2.9 → 39.3.2
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 +13 -0
- package/dist/WarnSettings.js.map +1 -1
- package/dist/alignTransform.js.map +1 -1
- package/dist/bin/generateRule.js.map +1 -1
- package/dist/defaultTagOrder.js.map +1 -1
- package/dist/exportParser.js.map +1 -1
- package/dist/generateRule.js.map +1 -1
- package/dist/getDefaultTagStructureForMode.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/iterateJsdoc.js +57 -16
- package/dist/iterateJsdoc.js.map +1 -1
- package/dist/jsdocUtils.js +6 -2
- package/dist/jsdocUtils.js.map +1 -1
- package/dist/rules/checkAccess.js.map +1 -1
- package/dist/rules/checkAlignment.js.map +1 -1
- package/dist/rules/checkExamples.js.map +1 -1
- package/dist/rules/checkIndentation.js.map +1 -1
- package/dist/rules/checkLineAlignment.js.map +1 -1
- package/dist/rules/checkParamNames.js.map +1 -1
- package/dist/rules/checkPropertyNames.js.map +1 -1
- package/dist/rules/checkSyntax.js.map +1 -1
- package/dist/rules/checkTagNames.js.map +1 -1
- package/dist/rules/checkTypes.js.map +1 -1
- package/dist/rules/checkValues.js.map +1 -1
- package/dist/rules/emptyTags.js.map +1 -1
- package/dist/rules/implementsOnClasses.js.map +1 -1
- package/dist/rules/matchDescription.js.map +1 -1
- package/dist/rules/matchName.js.map +1 -1
- package/dist/rules/multilineBlocks.js.map +1 -1
- package/dist/rules/newlineAfterDescription.js.map +1 -1
- package/dist/rules/noBadBlocks.js.map +1 -1
- package/dist/rules/noDefaults.js.map +1 -1
- package/dist/rules/noMissingSyntax.js.map +1 -1
- package/dist/rules/noMultiAsterisks.js.map +1 -1
- package/dist/rules/noRestrictedSyntax.js.map +1 -1
- package/dist/rules/noTypes.js.map +1 -1
- package/dist/rules/noUndefinedTypes.js.map +1 -1
- package/dist/rules/requireAsteriskPrefix.js.map +1 -1
- package/dist/rules/requireDescription.js.map +1 -1
- package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -1
- package/dist/rules/requireExample.js.map +1 -1
- package/dist/rules/requireFileOverview.js.map +1 -1
- package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -1
- package/dist/rules/requireJsdoc.js.map +1 -1
- package/dist/rules/requireParam.js.map +1 -1
- package/dist/rules/requireParamDescription.js.map +1 -1
- package/dist/rules/requireParamName.js.map +1 -1
- package/dist/rules/requireParamType.js.map +1 -1
- package/dist/rules/requireProperty.js.map +1 -1
- package/dist/rules/requirePropertyDescription.js.map +1 -1
- package/dist/rules/requirePropertyName.js.map +1 -1
- package/dist/rules/requirePropertyType.js.map +1 -1
- package/dist/rules/requireReturns.js.map +1 -1
- package/dist/rules/requireReturnsCheck.js.map +1 -1
- package/dist/rules/requireReturnsDescription.js.map +1 -1
- package/dist/rules/requireReturnsType.js.map +1 -1
- package/dist/rules/requireThrows.js.map +1 -1
- package/dist/rules/requireYields.js.map +1 -1
- package/dist/rules/requireYieldsCheck.js.map +1 -1
- package/dist/rules/sortTags.js.map +1 -1
- package/dist/rules/tagLines.js.map +1 -1
- package/dist/rules/validTypes.js.map +1 -1
- package/dist/tagNames.js.map +1 -1
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"requireReturnsType.js","names":["iterateJsdoc","report","utils","forEachPreferredTag","jsdocTag","targetTagName","type","contextDefaults","meta","docs","description","url","schema","additionalProperties","properties","contexts","items","anyOf","comment","context"],"sources":["../../src/rules/requireReturnsType.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n report,\n utils,\n}) => {\n utils.forEachPreferredTag('returns', (jsdocTag, targetTagName) => {\n if (!jsdocTag.type) {\n report(`Missing JSDoc @${targetTagName} type.`, null, jsdocTag);\n }\n });\n}, {\n contextDefaults: true,\n meta: {\n docs: {\n description: 'Requires that `@returns` tag has `type` value.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-returns-type',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n comment: {\n type: 'string',\n },\n context: {\n type: 'string',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":";;;;;;;AAAA;;;;eAEe,IAAAA,qBAAA,EAAa,CAAC;EAC3BC,MAD2B;EAE3BC;AAF2B,CAAD,KAGtB;EACJA,KAAK,CAACC,mBAAN,CAA0B,SAA1B,EAAqC,CAACC,QAAD,EAAWC,aAAX,KAA6B;IAChE,IAAI,CAACD,QAAQ,CAACE,IAAd,EAAoB;MAClBL,MAAM,CAAE,kBAAiBI,aAAc,QAAjC,EAA0C,IAA1C,EAAgDD,QAAhD,CAAN;IACD;EACF,CAJD;AAKD,CATc,EASZ;EACDG,eAAe,EAAE,IADhB;EAEDC,IAAI,EAAE;IACJC,IAAI,EAAE;MACJC,WAAW,EAAE,gDADT;MAEJC,GAAG,EAAE;IAFD,CADF;IAKJC,MAAM,EAAE,CACN;MACEC,oBAAoB,EAAE,KADxB;MAEEC,UAAU,EAAE;QACVC,QAAQ,EAAE;UACRC,KAAK,EAAE;YACLC,KAAK,EAAE,CACL;cACEX,IAAI,EAAE;YADR,CADK,EAIL;cACEO,oBAAoB,EAAE,KADxB;cAEEC,UAAU,EAAE;gBACVI,OAAO,EAAE;kBACPZ,IAAI,EAAE;gBADC,CADC;gBAIVa,OAAO,EAAE;kBACPb,IAAI,EAAE;gBADC;cAJC,CAFd;cAUEA,IAAI,EAAE;YAVR,CAJK;UADF,CADC;UAoBRA,IAAI,EAAE;QApBE;MADA,CAFd;MA0BEA,IAAI,EAAE;IA1BR,CADM,CALJ;IAmCJA,IAAI,EAAE;EAnCF;AAFL,CATY,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"requireThrows.js","names":["canSkip","utils","hasATag","avoidDocs","iterateJsdoc","report","tagName","getPreferredTagName","tags","getTags","iteratingFunction","isIteratingFunction","tag","missingThrowsTag","shouldReport","type","trim","hasThrowValue","contextDefaults","meta","docs","description","url","schema","additionalProperties","properties","contexts","items","anyOf","comment","context","exemptedBy"],"sources":["../../src/rules/requireThrows.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\n/**\n * We can skip checking for a throws value, in case the documentation is inherited\n * or the method is either a constructor or an abstract method.\n *\n * @param {*} utils a reference to the utils which are used to probe if a tag is present or not.\n * @returns {boolean} true in case deep checking can be skipped; otherwise false.\n */\nconst canSkip = (utils) => {\n return utils.hasATag([\n // inheritdoc implies that all documentation is inherited\n // see https://jsdoc.app/tags-inheritdoc.html\n //\n // Abstract methods are by definition incomplete,\n // so it is not necessary to document that they throw an error.\n 'abstract',\n 'virtual',\n\n // The designated type can itself document `@throws`\n 'type',\n ]) ||\n utils.avoidDocs();\n};\n\nexport default iterateJsdoc(({\n report,\n utils,\n}) => {\n // A preflight check. We do not need to run a deep check for abstract\n // functions.\n if (canSkip(utils)) {\n return;\n }\n\n const tagName = utils.getPreferredTagName({\n tagName: 'throws',\n });\n if (!tagName) {\n return;\n }\n\n const tags = utils.getTags(tagName);\n const iteratingFunction = utils.isIteratingFunction();\n\n // In case the code returns something, we expect a return value in JSDoc.\n const [\n tag,\n ] = tags;\n const missingThrowsTag = typeof tag === 'undefined' || tag === null;\n\n const shouldReport = () => {\n if (!missingThrowsTag) {\n if (tag.type.trim() === 'never' && iteratingFunction && utils.hasThrowValue()) {\n report(`JSDoc @${tagName} declaration set to \"never\" but throw value found.`);\n }\n\n return false;\n }\n\n return iteratingFunction && utils.hasThrowValue();\n };\n\n if (shouldReport()) {\n report(`Missing JSDoc @${tagName} declaration.`);\n }\n}, {\n contextDefaults: true,\n meta: {\n docs: {\n description: 'Requires that throw statements are documented.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-throws',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n comment: {\n type: 'string',\n },\n context: {\n type: 'string',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n exemptedBy: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":";;;;;;;AAAA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAIC,KAAD,IAAW;EACzB,OAAOA,KAAK,CAACC,OAAN,CAAc,CACnB;EACA;EACA;EACA;EACA;EACA,UANmB,EAOnB,SAPmB,EASnB;EACA,MAVmB,CAAd,KAYLD,KAAK,CAACE,SAAN,EAZF;AAaD,CAdD;;eAgBe,IAAAC,qBAAA,EAAa,CAAC;EAC3BC,MAD2B;EAE3BJ;AAF2B,CAAD,KAGtB;EACJ;EACA;EACA,IAAID,OAAO,CAACC,KAAD,CAAX,EAAoB;IAClB;EACD;;EAED,MAAMK,OAAO,GAAGL,KAAK,CAACM,mBAAN,CAA0B;IACxCD,OAAO,EAAE;EAD+B,CAA1B,CAAhB;;EAGA,IAAI,CAACA,OAAL,EAAc;IACZ;EACD;;EAED,MAAME,IAAI,GAAGP,KAAK,CAACQ,OAAN,CAAcH,OAAd,CAAb;EACA,MAAMI,iBAAiB,GAAGT,KAAK,CAACU,mBAAN,EAA1B,CAfI,CAiBJ;;EACA,MAAM,CACJC,GADI,IAEFJ,IAFJ;EAGA,MAAMK,gBAAgB,GAAG,OAAOD,GAAP,KAAe,WAAf,IAA8BA,GAAG,KAAK,IAA/D;;EAEA,MAAME,YAAY,GAAG,MAAM;IACzB,IAAI,CAACD,gBAAL,EAAuB;MACrB,IAAID,GAAG,CAACG,IAAJ,CAASC,IAAT,OAAoB,OAApB,IAA+BN,iBAA/B,IAAoDT,KAAK,CAACgB,aAAN,EAAxD,EAA+E;QAC7EZ,MAAM,CAAE,UAASC,OAAQ,oDAAnB,CAAN;MACD;;MAED,OAAO,KAAP;IACD;;IAED,OAAOI,iBAAiB,IAAIT,KAAK,CAACgB,aAAN,EAA5B;EACD,CAVD;;EAYA,IAAIH,YAAY,EAAhB,EAAoB;IAClBT,MAAM,CAAE,kBAAiBC,OAAQ,eAA3B,CAAN;EACD;AACF,CAzCc,EAyCZ;EACDY,eAAe,EAAE,IADhB;EAEDC,IAAI,EAAE;IACJC,IAAI,EAAE;MACJC,WAAW,EAAE,gDADT;MAEJC,GAAG,EAAE;IAFD,CADF;IAKJC,MAAM,EAAE,CACN;MACEC,oBAAoB,EAAE,KADxB;MAEEC,UAAU,EAAE;QACVC,QAAQ,EAAE;UACRC,KAAK,EAAE;YACLC,KAAK,EAAE,CACL;cACEb,IAAI,EAAE;YADR,CADK,EAIL;cACES,oBAAoB,EAAE,KADxB;cAEEC,UAAU,EAAE;gBACVI,OAAO,EAAE;kBACPd,IAAI,EAAE;gBADC,CADC;gBAIVe,OAAO,EAAE;kBACPf,IAAI,EAAE;gBADC;cAJC,CAFd;cAUEA,IAAI,EAAE;YAVR,CAJK;UADF,CADC;UAoBRA,IAAI,EAAE;QApBE,CADA;QAuBVgB,UAAU,EAAE;UACVJ,KAAK,EAAE;YACLZ,IAAI,EAAE;UADD,CADG;UAIVA,IAAI,EAAE;QAJI;MAvBF,CAFd;MAgCEA,IAAI,EAAE;IAhCR,CADM,CALJ;IAyCJA,IAAI,EAAE;EAzCF;AAFL,CAzCY,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"requireYields.js","names":["canSkip","utils","hasATag","avoidDocs","checkTagName","report","tagName","preferredTagName","getPreferredTagName","tags","getTags","length","tag","missingTag","iterateJsdoc","context","next","nextWithGeneratorTag","forceRequireNext","forceRequireYields","withGeneratorTag","options","iteratingFunction","isIteratingFunction","preferredYieldTagName","missingYieldTag","shouldReportYields","hasTag","isGenerator","hasYieldValue","preferredNextTagName","missingNextTag","shouldReportNext","hasYieldReturnValue","contextDefaults","meta","docs","description","url","schema","additionalProperties","properties","contexts","items","anyOf","type","comment","exemptedBy","default"],"sources":["../../src/rules/requireYields.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\n/**\n * We can skip checking for a yield value, in case the documentation is inherited\n * or the method has a constructor or abstract tag.\n *\n * In either of these cases the yield value is optional or not defined.\n *\n * @param {*} utils a reference to the utils which are used to probe if a tag is present or not.\n * @returns {boolean} true in case deep checking can be skipped; otherwise false.\n */\nconst canSkip = (utils) => {\n return utils.hasATag([\n // inheritdoc implies that all documentation is inherited\n // see https://jsdoc.app/tags-inheritdoc.html\n //\n // Abstract methods are by definition incomplete,\n // so it is not an error if it declares a yield value but does not implement it.\n 'abstract',\n 'virtual',\n\n // Constructors do not have a yield value\n // so we can bail out here, too.\n 'class',\n 'constructor',\n\n // Yield (and any `next`) type is specified accompanying the targeted\n // @type\n 'type',\n\n // This seems to imply a class as well\n 'interface',\n ]) ||\n utils.avoidDocs();\n};\n\nconst checkTagName = (utils, report, tagName) => {\n const preferredTagName = utils.getPreferredTagName({\n tagName,\n });\n if (!preferredTagName) {\n return [];\n }\n\n const tags = utils.getTags(preferredTagName);\n\n if (tags.length > 1) {\n report(`Found more than one @${preferredTagName} declaration.`);\n }\n\n // In case the code yields something, we expect a yields value in JSDoc.\n const [\n tag,\n ] = tags;\n const missingTag = typeof tag === 'undefined' || tag === null;\n\n return [\n preferredTagName, missingTag,\n ];\n};\n\nexport default iterateJsdoc(({\n report,\n utils,\n context,\n}) => {\n const {\n next = false,\n nextWithGeneratorTag = false,\n forceRequireNext = false,\n forceRequireYields = false,\n withGeneratorTag = true,\n } = context.options[0] || {};\n\n // A preflight check. We do not need to run a deep check\n // in case the @yield comment is optional or undefined.\n if (canSkip(utils)) {\n return;\n }\n\n const iteratingFunction = utils.isIteratingFunction();\n\n const [\n preferredYieldTagName,\n missingYieldTag,\n ] = checkTagName(\n utils, report, 'yields',\n );\n if (preferredYieldTagName) {\n const shouldReportYields = () => {\n if (!missingYieldTag) {\n return false;\n }\n\n if (\n withGeneratorTag && utils.hasTag('generator') ||\n forceRequireYields && iteratingFunction && utils.isGenerator()\n ) {\n return true;\n }\n\n return iteratingFunction && utils.isGenerator() && utils.hasYieldValue();\n };\n\n if (shouldReportYields()) {\n report(`Missing JSDoc @${preferredYieldTagName} declaration.`);\n }\n }\n\n if (next || nextWithGeneratorTag || forceRequireNext) {\n const [\n preferredNextTagName,\n missingNextTag,\n ] = checkTagName(\n utils, report, 'next',\n );\n if (!preferredNextTagName) {\n return;\n }\n\n const shouldReportNext = () => {\n if (!missingNextTag) {\n return false;\n }\n\n if (\n nextWithGeneratorTag && utils.hasTag('generator')) {\n return true;\n }\n\n if (\n !next && !forceRequireNext ||\n !iteratingFunction ||\n !utils.isGenerator()\n ) {\n return false;\n }\n\n return forceRequireNext || utils.hasYieldReturnValue();\n };\n\n if (shouldReportNext()) {\n report(`Missing JSDoc @${preferredNextTagName} declaration.`);\n }\n }\n}, {\n contextDefaults: true,\n meta: {\n docs: {\n description: 'Requires yields are documented.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n comment: {\n type: 'string',\n },\n context: {\n type: 'string',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n exemptedBy: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n forceRequireNext: {\n default: false,\n type: 'boolean',\n },\n forceRequireYields: {\n default: false,\n type: 'boolean',\n },\n next: {\n default: false,\n type: 'boolean',\n },\n nextWithGeneratorTag: {\n default: false,\n type: 'boolean',\n },\n withGeneratorTag: {\n default: true,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"requireYieldsCheck.js","names":["canSkip","utils","settings","voidingTags","mode","push","hasATag","isConstructor","classHasTag","checkTagName","report","tagName","preferredTagName","getPreferredTagName","tags","getTags","length","iterateJsdoc","context","next","checkGeneratorsOnly","options","preferredYieldTagName","yieldTag","shouldReportYields","type","trim","hasYieldValue","isGenerator","hasDefinedTypeTag","preferredNextTagName","nextTag","shouldReportNext","hasYieldReturnValue","meta","docs","description","url","schema","additionalProperties","properties","default","contexts","items","anyOf","comment","exemptedBy"],"sources":["../../src/rules/requireYieldsCheck.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\nconst canSkip = (utils, settings) => {\n const voidingTags = [\n // An abstract function is by definition incomplete\n // so it is perfectly fine if a yield is documented but\n // not present within the function.\n // A subclass may inherit the doc and implement the\n // missing yield.\n 'abstract',\n 'virtual',\n\n // Constructor functions do not have a yield value\n // so we can bail here, too.\n 'class',\n 'constructor',\n\n // This seems to imply a class as well\n 'interface',\n ];\n\n if (settings.mode === 'closure') {\n // Structural Interface in GCC terms, equivalent to @interface tag as far as this rule is concerned\n voidingTags.push('record');\n }\n\n return utils.hasATag(voidingTags) ||\n utils.isConstructor() ||\n utils.classHasTag('interface') ||\n settings.mode === 'closure' && utils.classHasTag('record');\n};\n\nconst checkTagName = (utils, report, tagName) => {\n const preferredTagName = utils.getPreferredTagName({\n tagName,\n });\n if (!preferredTagName) {\n return [];\n }\n\n const tags = utils.getTags(preferredTagName);\n\n if (tags.length === 0) {\n return [];\n }\n\n if (tags.length > 1) {\n report(`Found more than one @${preferredTagName} declaration.`);\n\n return [];\n }\n\n return [\n preferredTagName, tags[0],\n ];\n};\n\nexport default iterateJsdoc(({\n context,\n report,\n settings,\n utils,\n}) => {\n if (canSkip(utils, settings)) {\n return;\n }\n\n const {\n next = false,\n checkGeneratorsOnly = false,\n } = context.options[0] || {};\n\n const [\n preferredYieldTagName,\n yieldTag,\n ] = checkTagName(\n utils, report, 'yields',\n );\n if (preferredYieldTagName) {\n const shouldReportYields = () => {\n if (yieldTag.type.trim() === 'never') {\n if (utils.hasYieldValue()) {\n report(`JSDoc @${preferredYieldTagName} declaration set with \"never\" but yield expression is present in function.`);\n }\n\n return false;\n }\n\n if (checkGeneratorsOnly && !utils.isGenerator()) {\n return true;\n }\n\n return utils.hasDefinedTypeTag(yieldTag) && !utils.hasYieldValue();\n };\n\n // In case a yield value is declared in JSDoc, we also expect one in the code.\n if (shouldReportYields()) {\n report(`JSDoc @${preferredYieldTagName} declaration present but yield expression not available in function.`);\n }\n }\n\n if (next) {\n const [\n preferredNextTagName,\n nextTag,\n ] = checkTagName(\n utils, report, 'next',\n );\n if (preferredNextTagName) {\n const shouldReportNext = () => {\n if (nextTag.type.trim() === 'never') {\n if (utils.hasYieldReturnValue()) {\n report(`JSDoc @${preferredNextTagName} declaration set with \"never\" but yield expression with return value is present in function.`);\n }\n\n return false;\n }\n\n if (checkGeneratorsOnly && !utils.isGenerator()) {\n return true;\n }\n\n return utils.hasDefinedTypeTag(nextTag) && !utils.hasYieldReturnValue();\n };\n\n if (shouldReportNext()) {\n report(`JSDoc @${preferredNextTagName} declaration present but yield expression with return value not available in function.`);\n }\n }\n }\n}, {\n meta: {\n docs: {\n description: 'Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-yields-check',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n checkGeneratorsOnly: {\n default: false,\n type: 'boolean',\n },\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n comment: {\n type: 'string',\n },\n context: {\n type: 'string',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n exemptedBy: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n next: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sortTags.js","names":["iterateJsdoc","context","jsdoc","utils","tagSequence","defaultTagOrder","alphabetizeExtras","options","otherPos","indexOf","endPos","length","ongoingCount","idx","tag","tags","entries","originalIndex","source","originalLine","firstChangedTagLine","firstChangedTagIndex","sortedTags","JSON","parse","stringify","sort","tagNew","tagOld","checkOrSetFirstChanged","newPos","oldPos","preferredNewPos","preferredOldPos","undefined","firstLine","getFirstLine","fix","itemsToMoveRange","Array","from","keys","unchangedPriorTagDescriptions","slice","reduce","ct","initialOffset","removeTag","changedTags","extraTagCount","changedTag","addTag","tokens","end","addLine","reportJSDoc","join","iterateAllJsdocs","meta","docs","description","url","fixable","schema","additionalProperies","properties","type","items"],"sources":["../../src/rules/sortTags.js"],"sourcesContent":["import defaultTagOrder from '../defaultTagOrder';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n context,\n jsdoc,\n utils,\n}) => {\n const {\n tagSequence = defaultTagOrder,\n alphabetizeExtras = false,\n } = context.options[0] || {};\n\n const otherPos = tagSequence.indexOf('-other');\n const endPos = otherPos > -1 ? otherPos : tagSequence.length;\n\n let ongoingCount = 0;\n for (const [\n idx,\n tag,\n ] of jsdoc.tags.entries()) {\n tag.originalIndex = idx;\n ongoingCount += tag.source.length;\n tag.originalLine = ongoingCount;\n }\n\n let firstChangedTagLine;\n let firstChangedTagIndex;\n const sortedTags = JSON.parse(JSON.stringify(jsdoc.tags));\n sortedTags.sort(({\n tag: tagNew,\n }, {\n originalIndex,\n originalLine,\n tag: tagOld,\n }) => {\n // Optimize: Just keep relative positions if the same tag name\n if (tagNew === tagOld) {\n return 0;\n }\n\n const checkOrSetFirstChanged = () => {\n if (!firstChangedTagLine || originalLine < firstChangedTagLine) {\n firstChangedTagLine = originalLine;\n firstChangedTagIndex = originalIndex;\n }\n };\n\n const newPos = tagSequence.indexOf(tagNew);\n const oldPos = tagSequence.indexOf(tagOld);\n\n const preferredNewPos = newPos === -1 ? endPos : newPos;\n const preferredOldPos = oldPos === -1 ? endPos : oldPos;\n\n if (preferredNewPos < preferredOldPos) {\n checkOrSetFirstChanged();\n return -1;\n }\n\n if (preferredNewPos > preferredOldPos) {\n return 1;\n }\n\n // preferredNewPos === preferredOldPos\n if (\n !alphabetizeExtras ||\n\n // Optimize: If tagNew (or tagOld which is the same) was found in the\n // priority array, it can maintain its relative position—without need\n // of alphabetizing (secondary sorting)\n newPos >= 0\n ) {\n return 0;\n }\n\n if (tagNew < tagOld) {\n checkOrSetFirstChanged();\n return -1;\n }\n\n // tagNew > tagOld\n return 1;\n });\n\n if (firstChangedTagLine === undefined) {\n return;\n }\n\n const firstLine = utils.getFirstLine();\n\n const fix = () => {\n const itemsToMoveRange = [\n ...Array.from({\n length: jsdoc.tags.length - firstChangedTagIndex,\n }).keys(),\n ];\n\n const unchangedPriorTagDescriptions = jsdoc.tags.slice(\n 0,\n firstChangedTagIndex,\n ).reduce((ct, {\n source,\n }) => {\n return ct + source.length - 1;\n }, 0);\n\n // This offset includes not only the offset from where the first tag\n // must begin, and the additional offset of where the first changed\n // tag begins, but it must also account for prior descriptions\n const initialOffset = firstLine + firstChangedTagIndex +\n\n // May be the first tag, so don't try finding a prior one if so\n unchangedPriorTagDescriptions;\n\n // Use `firstChangedTagLine` for line number to begin reporting/splicing\n for (const idx of itemsToMoveRange) {\n utils.removeTag(idx + firstChangedTagIndex);\n }\n\n const changedTags = sortedTags.slice(firstChangedTagIndex);\n let extraTagCount = 0;\n\n for (const idx of itemsToMoveRange) {\n const changedTag = changedTags[idx];\n\n utils.addTag(\n changedTag.tag,\n extraTagCount + initialOffset + idx,\n {\n ...changedTag.source[0].tokens,\n\n // `comment-parser` puts the `end` within the `tags` section, so\n // avoid adding another to jsdoc.source\n end: '',\n },\n );\n\n for (const {\n tokens,\n } of changedTag.source.slice(1)) {\n if (!tokens.end) {\n utils.addLine(\n extraTagCount + initialOffset + idx + 1,\n {\n ...tokens,\n end: '',\n },\n );\n extraTagCount++;\n }\n }\n }\n };\n\n utils.reportJSDoc(\n `Tags are not in the prescribed order: ${tagSequence.join(', ')}`,\n jsdoc.tags[firstChangedTagIndex],\n fix,\n true,\n );\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: '',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-sort-tags',\n },\n fixable: 'code',\n schema: [\n {\n additionalProperies: false,\n properties: {\n alphabetizeExtras: {\n type: 'boolean',\n },\n tagSequence: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rules/tagLines.js"],"names":["context","jsdoc","utils","alwaysNever","count","dropEndLines","noEndLines","tags","options","some","tg","tagIdx","lastTag","lastEmpty","reportIndex","idx","tokens","tag","name","type","description","end","source","entries","includes","slice","lines","empty","length","fixer","removeTagItem","reportJSDoc","line","number","currentTag","tagSourceIdx","splice","push","currentTg","tagCount","defaultAlways","overrideAlways","fixCount","addLines","iterateAllJsdocs","meta","docs","url","fixable","schema","enum","additionalProperies","properties","patternProperties","additionalProperties"],"mappings":"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","sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n context,\n jsdoc,\n utils,\n}) => {\n const [\n alwaysNever = 'never',\n {\n count = 1,\n dropEndLines = false,\n noEndLines = false,\n tags = {},\n } = {},\n ] = context.options;\n\n jsdoc.tags.some((tg, tagIdx) => {\n let lastTag;\n let lastEmpty = null;\n\n let reportIndex = null;\n for (const [\n idx,\n {\n tokens: {\n tag,\n name,\n type,\n description,\n end,\n },\n },\n ] of tg.source.entries()) {\n // May be text after a line break within a tag description\n if (description) {\n reportIndex = null;\n }\n\n if (lastTag && [\n 'any', 'always',\n ].includes(tags[lastTag.slice(1)]?.lines)) {\n continue;\n }\n\n const empty = !tag && !name && !type && !description;\n if (\n empty && !end &&\n (alwaysNever === 'never' ||\n lastTag && tags[lastTag.slice(1)]?.lines === 'never'\n )\n ) {\n reportIndex = idx;\n\n continue;\n }\n\n if (!end) {\n lastEmpty = empty ? idx : null;\n }\n\n lastTag = tag;\n }\n\n if (dropEndLines && lastEmpty !== null && tagIdx === jsdoc.tags.length - 1) {\n const fixer = () => {\n utils.removeTagItem(tagIdx, lastEmpty);\n };\n\n utils.reportJSDoc(\n 'Expected no trailing lines',\n {\n line: tg.source[lastEmpty].number,\n },\n fixer,\n );\n\n return true;\n }\n\n if (reportIndex !== null) {\n const fixer = () => {\n utils.removeTagItem(tagIdx, reportIndex);\n };\n\n utils.reportJSDoc(\n 'Expected no lines between tags',\n {\n line: tg.source[0].number + 1,\n },\n fixer,\n );\n\n return true;\n }\n\n return false;\n });\n\n (noEndLines ? jsdoc.tags.slice(0, -1) : jsdoc.tags).some((tg, tagIdx) => {\n const lines = [];\n\n let currentTag;\n let tagSourceIdx = 0;\n for (const [\n idx,\n {\n number,\n tokens: {\n tag,\n name,\n type,\n description,\n end,\n },\n },\n ] of tg.source.entries()) {\n if (description) {\n lines.splice(0, lines.length);\n tagSourceIdx = idx;\n }\n\n if (tag) {\n currentTag = tag;\n }\n\n if (!tag && !name && !type && !description && !end) {\n lines.push({\n idx,\n number,\n });\n }\n }\n\n const currentTg = currentTag && tags[currentTag.slice(1)];\n const tagCount = currentTg?.count;\n\n const defaultAlways = alwaysNever === 'always' && currentTg?.lines !== 'never' &&\n currentTg?.lines !== 'any' && lines.length < count;\n\n let overrideAlways;\n let fixCount = count;\n if (!defaultAlways) {\n fixCount = typeof tagCount === 'number' ? tagCount : count;\n overrideAlways = currentTg?.lines === 'always' &&\n lines.length < fixCount;\n }\n\n if (defaultAlways || overrideAlways) {\n const fixer = () => {\n utils.addLines(tagIdx, lines[lines.length - 1]?.idx || tagSourceIdx + 1, fixCount - lines.length);\n };\n\n const line = lines[lines.length - 1]?.number || tg.source[tagSourceIdx].number;\n utils.reportJSDoc(\n `Expected ${fixCount} line${fixCount === 1 ? '' : 's'} between tags but found ${lines.length}`,\n {\n line,\n },\n fixer,\n );\n\n return true;\n }\n\n return false;\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Enforces lines (or no lines) between tags.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-tag-lines',\n },\n fixable: 'code',\n schema: [\n {\n enum: [\n 'always', 'any', 'never',\n ],\n type: 'string',\n },\n {\n additionalProperies: false,\n properties: {\n count: {\n type: 'integer',\n },\n dropEndLines: {\n type: 'boolean',\n },\n noEndLines: {\n type: 'boolean',\n },\n tags: {\n patternProperties: {\n '.*': {\n additionalProperties: false,\n properties: {\n count: {\n type: 'integer',\n },\n lines: {\n enum: [\n 'always', 'never', 'any',\n ],\n type: 'string',\n },\n },\n },\n },\n type: 'object',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"tagLines.js"}
|
|
1
|
+
{"version":3,"file":"tagLines.js","names":["iterateJsdoc","context","jsdoc","utils","alwaysNever","count","dropEndLines","noEndLines","tags","options","some","tg","tagIdx","lastTag","lastEmpty","reportIndex","idx","tokens","tag","name","type","description","end","source","entries","includes","slice","lines","empty","length","fixer","removeTagItem","reportJSDoc","line","number","currentTag","tagSourceIdx","splice","push","currentTg","tagCount","defaultAlways","overrideAlways","fixCount","addLines","iterateAllJsdocs","meta","docs","url","fixable","schema","enum","additionalProperies","properties","patternProperties","additionalProperties"],"sources":["../../src/rules/tagLines.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n context,\n jsdoc,\n utils,\n}) => {\n const [\n alwaysNever = 'never',\n {\n count = 1,\n dropEndLines = false,\n noEndLines = false,\n tags = {},\n } = {},\n ] = context.options;\n\n jsdoc.tags.some((tg, tagIdx) => {\n let lastTag;\n let lastEmpty = null;\n\n let reportIndex = null;\n for (const [\n idx,\n {\n tokens: {\n tag,\n name,\n type,\n description,\n end,\n },\n },\n ] of tg.source.entries()) {\n // May be text after a line break within a tag description\n if (description) {\n reportIndex = null;\n }\n\n if (lastTag && [\n 'any', 'always',\n ].includes(tags[lastTag.slice(1)]?.lines)) {\n continue;\n }\n\n const empty = !tag && !name && !type && !description;\n if (\n empty && !end &&\n (alwaysNever === 'never' ||\n lastTag && tags[lastTag.slice(1)]?.lines === 'never'\n )\n ) {\n reportIndex = idx;\n\n continue;\n }\n\n if (!end) {\n lastEmpty = empty ? idx : null;\n }\n\n lastTag = tag;\n }\n\n if (dropEndLines && lastEmpty !== null && tagIdx === jsdoc.tags.length - 1) {\n const fixer = () => {\n utils.removeTagItem(tagIdx, lastEmpty);\n };\n\n utils.reportJSDoc(\n 'Expected no trailing lines',\n {\n line: tg.source[lastEmpty].number,\n },\n fixer,\n );\n\n return true;\n }\n\n if (reportIndex !== null) {\n const fixer = () => {\n utils.removeTagItem(tagIdx, reportIndex);\n };\n\n utils.reportJSDoc(\n 'Expected no lines between tags',\n {\n line: tg.source[0].number + 1,\n },\n fixer,\n );\n\n return true;\n }\n\n return false;\n });\n\n (noEndLines ? jsdoc.tags.slice(0, -1) : jsdoc.tags).some((tg, tagIdx) => {\n const lines = [];\n\n let currentTag;\n let tagSourceIdx = 0;\n for (const [\n idx,\n {\n number,\n tokens: {\n tag,\n name,\n type,\n description,\n end,\n },\n },\n ] of tg.source.entries()) {\n if (description) {\n lines.splice(0, lines.length);\n tagSourceIdx = idx;\n }\n\n if (tag) {\n currentTag = tag;\n }\n\n if (!tag && !name && !type && !description && !end) {\n lines.push({\n idx,\n number,\n });\n }\n }\n\n const currentTg = currentTag && tags[currentTag.slice(1)];\n const tagCount = currentTg?.count;\n\n const defaultAlways = alwaysNever === 'always' && currentTg?.lines !== 'never' &&\n currentTg?.lines !== 'any' && lines.length < count;\n\n let overrideAlways;\n let fixCount = count;\n if (!defaultAlways) {\n fixCount = typeof tagCount === 'number' ? tagCount : count;\n overrideAlways = currentTg?.lines === 'always' &&\n lines.length < fixCount;\n }\n\n if (defaultAlways || overrideAlways) {\n const fixer = () => {\n utils.addLines(tagIdx, lines[lines.length - 1]?.idx || tagSourceIdx + 1, fixCount - lines.length);\n };\n\n const line = lines[lines.length - 1]?.number || tg.source[tagSourceIdx].number;\n utils.reportJSDoc(\n `Expected ${fixCount} line${fixCount === 1 ? '' : 's'} between tags but found ${lines.length}`,\n {\n line,\n },\n fixer,\n );\n\n return true;\n }\n\n return false;\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Enforces lines (or no lines) between tags.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-tag-lines',\n },\n fixable: 'code',\n schema: [\n {\n enum: [\n 'always', 'any', 'never',\n ],\n type: 'string',\n },\n {\n additionalProperies: false,\n properties: {\n count: {\n type: 'integer',\n },\n dropEndLines: {\n type: 'boolean',\n },\n noEndLines: {\n type: 'boolean',\n },\n tags: {\n patternProperties: {\n '.*': {\n additionalProperties: false,\n properties: {\n count: {\n type: 'integer',\n },\n lines: {\n enum: [\n 'always', 'never', 'any',\n ],\n type: 'string',\n },\n },\n },\n },\n type: 'object',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rules/validTypes.js"],"names":["asExpression","suppressTypes","Set","tryParsePathIgnoreError","path","jsdoc","report","utils","context","settings","allowEmptyNamepaths","options","mode","tag","tags","validNamepathParsing","namepath","tagName","handled","startsWith","endChar","slice","includes","startChar","charAt","validTypeParsing","type","thisNamepath","getTagDescription","replace","trim","test","thatNamepath","name","parsedTypes","node","value","undefined","has","otherModeMaps","filter","mde","map","getTagStructureForMode","tagMightHaveNamePosition","modeInfo","mightHaveTypePosition","tagMightHaveTypePosition","tagMustHaveNamePosition","mustHaveTypePosition","tagMustHaveTypePosition","tagMissingRequiredTypeOrNamepath","hasTypePosition","Boolean","hasNameOrNamepathPosition","tagMightHaveNamepath","parseClosureTemplateTag","iterateAllJsdocs","meta","docs","description","url","schema","additionalProperies","properties","default"],"mappings":";;;;;;;AAAA;;AAKA;;;;AAEA,MAAMA,YAAY,GAAG,QAArB;AAEA,MAAMC,aAAa,GAAG,IAAIC,GAAJ,CAAQ,CAC5B;AACA;AACA,gBAH4B,EAI5B,wBAJ4B,EAK5B,sBAL4B,EAM5B,aAN4B,EAO5B,YAP4B,EAQ5B,WAR4B,EAS5B,6BAT4B,EAU5B,OAV4B,EAW5B,kBAX4B,EAY5B,YAZ4B,EAa5B,WAb4B,EAc5B,WAd4B,EAe5B,mBAf4B,EAgB5B,cAhB4B,EAiB5B,cAjB4B,EAkB5B,YAlB4B,EAmB5B,cAnB4B,EAoB5B,aApB4B,EAqB5B,wBArB4B,EAsB5B,YAtB4B,EAuB5B,oBAvB4B,EAwB5B,yBAxB4B,EAyB5B,iBAzB4B,EA0B5B,iBA1B4B,EA2B5B,mBA3B4B,EA4B5B,gBA5B4B,EA6B5B,gBA7B4B,EA8B5B,wBA9B4B,EA+B5B,YA/B4B,EAgC5B,mBAhC4B,EAiC5B,cAjC4B,EAkC5B,SAlC4B,EAmC5B,oBAnC4B,EAoC5B,yBApC4B,EAqC5B,sBArC4B,EAsC5B,0BAtC4B,EAuC5B,gBAvC4B,EAyC5B;AACA,QA1C4B,EA2C5B,oCA3C4B,EA4C5B,gBA5C4B,EA6C5B,eA7C4B,EA8C5B,YA9C4B,EA+C5B,gBA/C4B,EAgD5B,wBAhD4B,EAiD5B,sBAjD4B,EAkD5B,sBAlD4B,EAmD5B,kBAnD4B,EAoD5B,aApD4B,EAqD5B,YArD4B,EAsD5B,MAtD4B,CAAR,CAAtB;;AAyDA,MAAMC,uBAAuB,GAAIC,IAAD,IAAU;AACxC,MAAI;AACF,gCAASA,IAAT;AAEA,WAAO,IAAP;AACD,GAJD,CAIE,MAAM,CACN;AACD;;AAED,SAAO,KAAP;AACD,CAVD,C,CAYA;;;eACe,2BAAa,CAAC;AAC3BC,EAAAA,KAD2B;AAE3BC,EAAAA,MAF2B;AAG3BC,EAAAA,KAH2B;AAI3BC,EAAAA,OAJ2B;AAK3BC,EAAAA;AAL2B,CAAD,KAMtB;AACJ,QAAM;AACJC,IAAAA,mBAAmB,GAAG;AADlB,MAEFF,OAAO,CAACG,OAAR,CAAgB,CAAhB,KAAsB,EAF1B;AAGA,QAAM;AACJC,IAAAA;AADI,MAEFH,QAFJ;;AAIA,OAAK,MAAMI,GAAX,IAAkBR,KAAK,CAACS,IAAxB,EAA8B;AAC5B,UAAMC,oBAAoB,GAAG,UAAUC,QAAV,EAAoBC,OAApB,EAA6B;AACxD,UAAId,uBAAuB,CAACa,QAAD,CAA3B,EAAuC;AACrC,eAAO,IAAP;AACD;;AAED,UAAIE,OAAO,GAAG,KAAd;;AAEA,UAAID,OAAJ,EAAa;AACX;AACA,gBAAQA,OAAR;AACA,eAAK,UAAL;AACA,eAAK,QAAL;AAAe;AACb,kBAAI,CAACD,QAAQ,CAACG,UAAT,CAAoB,SAApB,CAAL,EAAqC;AACnCD,gBAAAA,OAAO,GAAGf,uBAAuB,CAAE,UAASa,QAAS,EAApB,CAAjC;AACD;;AAED;AACD;;AAED,eAAK,UAAL;AAAiB,eAAK,WAAL;AAAkB;AACjC,oBAAMI,OAAO,GAAGJ,QAAQ,CAACK,KAAT,CAAe,CAAC,CAAhB,CAAhB;;AACA,kBAAI,CACF,GADE,EACG,GADH,EACQ,GADR,EAEFC,QAFE,CAEOF,OAFP,CAAJ,EAEqB;AACnBF,gBAAAA,OAAO,GAAGf,uBAAuB,CAACa,QAAQ,CAACK,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAD,CAAjC;AACD;;AAED;AACD;;AAED,eAAK,SAAL;AAAgB;AACd,oBAAME,SAAS,GAAGP,QAAQ,CAACQ,MAAT,EAAlB;;AACA,kBAAI,CACF,GADE,EACG,GADH,EACQ,GADR,EAEFF,QAFE,CAEOC,SAFP,CAAJ,EAEuB;AACrBL,gBAAAA,OAAO,GAAGf,uBAAuB,CAACa,QAAQ,CAACK,KAAT,CAAe,CAAf,CAAD,CAAjC;AACD;AACF;AA5BD;AA8BD;;AAED,UAAI,CAACH,OAAL,EAAc;AACZZ,QAAAA,MAAM,CAAE,6BAA4BU,QAAS,EAAvC,EAA0C,IAA1C,EAAgDH,GAAhD,CAAN;AAEA,eAAO,KAAP;AACD;;AAED,aAAO,IAAP;AACD,KAhDD;;AAkDA,UAAMY,gBAAgB,GAAG,UAAUC,IAAV,EAAgB;AACvC,UAAI;AACF,YAAId,IAAI,KAAK,YAAb,EAA2B;AACzB,sCAASc,IAAT;AACD,SAFD,MAEO;AACL,mCAAMA,IAAN,EAAYd,IAAZ;AACD;AACF,OAND,CAME,MAAM;AACNN,QAAAA,MAAM,CAAE,yBAAwBoB,IAAK,EAA/B,EAAkC,IAAlC,EAAwCb,GAAxC,CAAN;AAEA,eAAO,KAAP;AACD;;AAED,aAAO,IAAP;AACD,KAdD;;AAgBA,QAAIA,GAAG,CAACA,GAAJ,KAAY,SAAhB,EAA2B;AACzB,YAAMc,YAAY,GAAGpB,KAAK,CAACqB,iBAAN,CAAwBf,GAAxB,EAA6BgB,OAA7B,CAAqC7B,YAArC,EAAmD,EAAnD,EAClB8B,IADkB,EAArB;;AAGA,UAAI,CAAC9B,YAAY,CAAC+B,IAAb,CAAkBxB,KAAK,CAACqB,iBAAN,CAAwBf,GAAxB,CAAlB,CAAD,IAAoD,CAACc,YAAzD,EAAuE;AACrErB,QAAAA,MAAM,CAAE,iDAAgDC,KAAK,CAACqB,iBAAN,CAAwBf,GAAxB,CAA6B,GAA/E,EAAmF,IAAnF,EAAyFA,GAAzF,CAAN;AAEA;AACD;;AAED,UAAIE,oBAAoB,CAACY,YAAD,EAAe,SAAf,CAAxB,EAAmD;AACjD,cAAMK,YAAY,GAAGnB,GAAG,CAACoB,IAAzB;AAEAlB,QAAAA,oBAAoB,CAACiB,YAAD,CAApB;AACD;;AAED;AACD;;AAED,QAAInB,GAAG,CAACA,GAAJ,KAAY,UAAZ,IAA0BD,IAAI,KAAK,SAAvC,EAAkD;AAChD,UAAIsB,WAAJ;;AAEA,UAAI;AACFA,QAAAA,WAAW,GAAG,4BAASrB,GAAG,CAACa,IAAb,CAAd;AACD,OAFD,CAEE,MAAM,CACN;AACD;;AAED,UAAIQ,WAAJ,EAAiB;AACf,oCAASA,WAAT,EAAuBC,IAAD,IAAU;AAC9B,gBAAM;AACJC,YAAAA,KAAK,EAAEV;AADH,cAEFS,IAFJ;;AAGA,cAAIT,IAAI,KAAKW,SAAT,IAAsB,CAACpC,aAAa,CAACqC,GAAd,CAAkBZ,IAAlB,CAA3B,EAAoD;AAClDpB,YAAAA,MAAM,CAAE,kCAAiCoB,IAAK,EAAxC,EAA2C,IAA3C,EAAiDb,GAAjD,CAAN;AACD;AACF,SAPD;AAQD;AACF;;AAED,UAAM0B,aAAa,GAAG,CACpB,OADoB,EACX,YADW,EACG,SADH,EACc,YADd,EAEpBC,MAFoB,CAGnBC,GAAD,IAAS;AACP,aAAOA,GAAG,KAAK7B,IAAf;AACD,KALmB,EAMpB8B,GANoB,CAMfD,GAAD,IAAS;AACb,aAAOlC,KAAK,CAACoC,sBAAN,CAA6BF,GAA7B,CAAP;AACD,KARqB,CAAtB;AAUA,UAAMG,wBAAwB,GAAGrC,KAAK,CAACqC,wBAAN,CAA+B/B,GAAG,CAACA,GAAnC,EAAwC0B,aAAxC,CAAjC;;AACA,QAAIK,wBAAwB,KAAK,IAA7B,IAAqC/B,GAAG,CAACoB,IAA7C,EAAmD;AACjD,YAAMY,QAAQ,GAAGD,wBAAwB,KAAK,KAA7B,GAAqC,EAArC,GAA2C,QAAOhC,IAAK,QAAxE;AACAN,MAAAA,MAAM,CAAE,IAAGO,GAAG,CAACA,GAAI,0BAAyBgC,QAAS,GAA/C,EAAmD,IAAnD,EAAyDhC,GAAzD,CAAN;AAEA;AACD;;AAED,UAAMiC,qBAAqB,GAAGvC,KAAK,CAACwC,wBAAN,CAA+BlC,GAAG,CAACA,GAAnC,EAAwC0B,aAAxC,CAA9B;;AACA,QAAIO,qBAAqB,KAAK,IAA1B,IAAkCjC,GAAG,CAACa,IAA1C,EAAgD;AAC9C,YAAMmB,QAAQ,GAAGC,qBAAqB,KAAK,KAA1B,GAAkC,EAAlC,GAAwC,QAAOlC,IAAK,QAArE;AACAN,MAAAA,MAAM,CAAE,IAAGO,GAAG,CAACA,GAAI,oCAAmCgC,QAAS,GAAzD,EAA6D,IAA7D,EAAmEhC,GAAnE,CAAN;AAEA;AACD,KAnI2B,CAqI5B;;;AACA,UAAMmC,uBAAuB,GAAGzC,KAAK,CAACyC,uBAAN,CAA8BnC,GAAG,CAACA,GAAlC,EAAuC0B,aAAvC,CAAhC,CAtI4B,CAwI5B;AACA;AACA;;AACA,QAAIS,uBAAuB,KAAK,KAA5B,IAAqC,CAACnC,GAAG,CAACoB,IAA1C,IAAkD,CAACvB,mBAAnD,IAA0E,CAAC,CAC7E,OAD6E,EACpE,KADoE,EAC7D,UAD6D,EAE7E,UAF6E,EAEjE,MAFiE,EAG7EY,QAH6E,CAGpET,GAAG,CAACA,GAHgE,CAA3E,KAIDA,GAAG,CAACA,GAAJ,KAAY,KAAZ,IAAqB,CAACN,KAAK,CAACqB,iBAAN,CAAwBf,GAAxB,EAA6BS,QAA7B,CAAsC,QAAtC,CAJrB,CAAJ,EAKE;AACA,YAAMuB,QAAQ,GAAGG,uBAAuB,KAAK,IAA5B,GAAmC,EAAnC,GAAyC,QAAOpC,IAAK,QAAtE;AACAN,MAAAA,MAAM,CAAE,QAAOO,GAAG,CAACA,GAAI,6BAA4BgC,QAAS,GAAtD,EAA0D,IAA1D,EAAgEhC,GAAhE,CAAN;AAEA;AACD,KArJ2B,CAuJ5B;;;AACA,UAAMoC,oBAAoB,GAAG1C,KAAK,CAAC2C,uBAAN,CAA8BrC,GAAG,CAACA,GAAlC,EAAuC0B,aAAvC,CAA7B;;AACA,QAAIU,oBAAoB,KAAK,KAAzB,IAAkC,CAACpC,GAAG,CAACa,IAA3C,EAAiD;AAC/C,YAAMmB,QAAQ,GAAGI,oBAAoB,KAAK,IAAzB,GAAgC,EAAhC,GAAsC,QAAOrC,IAAK,QAAnE;AACAN,MAAAA,MAAM,CAAE,QAAOO,GAAG,CAACA,GAAI,oBAAmBgC,QAAS,GAA7C,EAAiD,IAAjD,EAAuDhC,GAAvD,CAAN;AAEA;AACD,KA9J2B,CAgK5B;;;AACA,UAAMsC,gCAAgC,GAAG5C,KAAK,CAAC4C,gCAAN,CAAuCtC,GAAvC,EAA4C0B,aAA5C,CAAzC;;AACA,QAAIY,gCAAgC,KAAK,KAArC,IAA8C,CAACzC,mBAAnD,EAAwE;AACtE,YAAMmC,QAAQ,GAAGM,gCAAgC,KAAK,IAArC,GAA4C,EAA5C,GAAkD,QAAOvC,IAAK,QAA/E;AACAN,MAAAA,MAAM,CAAE,QAAOO,GAAG,CAACA,GAAI,uCAAsCgC,QAAS,GAAhE,EAAoE,IAApE,EAA0EhC,GAA1E,CAAN;AAEA;AACD,KAvK2B,CAyK5B;;;AACA,UAAMuC,eAAe,GAAGN,qBAAqB,KAAK,IAA1B,IAAkCO,OAAO,CAACxC,GAAG,CAACa,IAAL,CAAjE;;AACA,QAAI0B,eAAJ,EAAqB;AACnB3B,MAAAA,gBAAgB,CAACZ,GAAG,CAACa,IAAL,CAAhB;AACD,KA7K2B,CA+K5B;;;AACA,UAAM4B,yBAAyB,GAAG,CAChCN,uBAAuB,KAAK,KAA5B,IACAzC,KAAK,CAACgD,oBAAN,CAA2B1C,GAAG,CAACA,GAA/B,CAFgC,KAG7BwC,OAAO,CAACxC,GAAG,CAACoB,IAAL,CAHZ;;AAKA,QAAIqB,yBAAJ,EAA+B;AAC7B,UAAI1C,IAAI,KAAK,OAAT,IAAoBC,GAAG,CAACA,GAAJ,KAAY,UAApC,EAAgD;AAC9C,aAAK,MAAMG,QAAX,IAAuBT,KAAK,CAACiD,uBAAN,CAA8B3C,GAA9B,CAAvB,EAA2D;AACzDE,UAAAA,oBAAoB,CAACC,QAAD,CAApB;AACD;AACF,OAJD,MAIO;AACLD,QAAAA,oBAAoB,CAACF,GAAG,CAACoB,IAAL,EAAWpB,GAAG,CAACA,GAAf,CAApB;AACD;AACF;AACF;AACF,CA7Mc,EA6MZ;AACD4C,EAAAA,gBAAgB,EAAE,IADjB;AAEDC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE;AACJC,MAAAA,WAAW,EAAE,uFADT;AAEJC,MAAAA,GAAG,EAAE;AAFD,KADF;AAKJC,IAAAA,MAAM,EAAE,CACN;AACEC,MAAAA,mBAAmB,EAAE,KADvB;AAEEC,MAAAA,UAAU,EAAE;AACVtD,QAAAA,mBAAmB,EAAE;AACnBuD,UAAAA,OAAO,EAAE,KADU;AAEnBvC,UAAAA,IAAI,EAAE;AAFa;AADX,OAFd;AAQEA,MAAAA,IAAI,EAAE;AARR,KADM,CALJ;AAiBJA,IAAAA,IAAI,EAAE;AAjBF;AAFL,CA7MY,C","sourcesContent":["import {\n tryParse,\n parse,\n traverse,\n} from '@es-joy/jsdoccomment';\nimport iterateJsdoc from '../iterateJsdoc';\n\nconst asExpression = /as\\s+/u;\n\nconst suppressTypes = new Set([\n // https://github.com/google/closure-compiler/wiki/@suppress-annotations\n // https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/ParserConfig.properties#L154\n 'accessControls',\n 'checkDebuggerStatement',\n 'checkPrototypalTypes',\n 'checkRegExp',\n 'checkTypes',\n 'checkVars',\n 'closureDepMethodUsageChecks',\n 'const',\n 'constantProperty',\n 'deprecated',\n 'duplicate',\n 'es5Strict',\n 'externsValidation',\n 'extraProvide',\n 'extraRequire',\n 'globalThis',\n 'invalidCasts',\n 'lateProvide',\n 'legacyGoogScopeRequire',\n 'lintChecks',\n 'messageConventions',\n 'misplacedTypeAnnotation',\n 'missingOverride',\n 'missingPolyfill',\n 'missingProperties',\n 'missingProvide',\n 'missingRequire',\n 'missingSourcesWarnings',\n 'moduleLoad',\n 'nonStandardJsDocs',\n 'partialAlias',\n 'polymer',\n 'reportUnknownTypes',\n 'strictMissingProperties',\n 'strictModuleDepCheck',\n 'strictPrimitiveOperators',\n 'suspiciousCode',\n\n // Not documented in enum\n 'switch',\n 'transitionalSuspiciousCodeWarnings',\n 'undefinedNames',\n 'undefinedVars',\n 'underscore',\n 'unknownDefines',\n 'untranspilableFeatures',\n 'unusedLocalVariables',\n 'unusedPrivateMembers',\n 'useOfGoogProvide',\n 'uselessCode',\n 'visibility',\n 'with',\n]);\n\nconst tryParsePathIgnoreError = (path) => {\n try {\n tryParse(path);\n\n return true;\n } catch {\n // Keep the original error for including the whole type\n }\n\n return false;\n};\n\n// eslint-disable-next-line complexity\nexport default iterateJsdoc(({\n jsdoc,\n report,\n utils,\n context,\n settings,\n}) => {\n const {\n allowEmptyNamepaths = false,\n } = context.options[0] || {};\n const {\n mode,\n } = settings;\n\n for (const tag of jsdoc.tags) {\n const validNamepathParsing = function (namepath, tagName) {\n if (tryParsePathIgnoreError(namepath)) {\n return true;\n }\n\n let handled = false;\n\n if (tagName) {\n // eslint-disable-next-line default-case\n switch (tagName) {\n case 'requires':\n case 'module': {\n if (!namepath.startsWith('module:')) {\n handled = tryParsePathIgnoreError(`module:${namepath}`);\n }\n\n break;\n }\n\n case 'memberof': case 'memberof!': {\n const endChar = namepath.slice(-1);\n if ([\n '#', '.', '~',\n ].includes(endChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(0, -1));\n }\n\n break;\n }\n\n case 'borrows': {\n const startChar = namepath.charAt();\n if ([\n '#', '.', '~',\n ].includes(startChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(1));\n }\n }\n }\n }\n\n if (!handled) {\n report(`Syntax error in namepath: ${namepath}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n const validTypeParsing = function (type) {\n try {\n if (mode === 'permissive') {\n tryParse(type);\n } else {\n parse(type, mode);\n }\n } catch {\n report(`Syntax error in type: ${type}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n if (tag.tag === 'borrows') {\n const thisNamepath = utils.getTagDescription(tag).replace(asExpression, '')\n .trim();\n\n if (!asExpression.test(utils.getTagDescription(tag)) || !thisNamepath) {\n report(`@borrows must have an \"as\" expression. Found \"${utils.getTagDescription(tag)}\"`, null, tag);\n\n continue;\n }\n\n if (validNamepathParsing(thisNamepath, 'borrows')) {\n const thatNamepath = tag.name;\n\n validNamepathParsing(thatNamepath);\n }\n\n continue;\n }\n\n if (tag.tag === 'suppress' && mode === 'closure') {\n let parsedTypes;\n\n try {\n parsedTypes = tryParse(tag.type);\n } catch {\n // Ignore\n }\n\n if (parsedTypes) {\n traverse(parsedTypes, (node) => {\n const {\n value: type,\n } = node;\n if (type !== undefined && !suppressTypes.has(type)) {\n report(`Syntax error in supresss type: ${type}`, null, tag);\n }\n });\n }\n }\n\n const otherModeMaps = [\n 'jsdoc', 'typescript', 'closure', 'permissive',\n ].filter(\n (mde) => {\n return mde !== mode;\n },\n ).map((mde) => {\n return utils.getTagStructureForMode(mde);\n });\n\n const tagMightHaveNamePosition = utils.tagMightHaveNamePosition(tag.tag, otherModeMaps);\n if (tagMightHaveNamePosition !== true && tag.name) {\n const modeInfo = tagMightHaveNamePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a name${modeInfo}.`, null, tag);\n\n continue;\n }\n\n const mightHaveTypePosition = utils.tagMightHaveTypePosition(tag.tag, otherModeMaps);\n if (mightHaveTypePosition !== true && tag.type) {\n const modeInfo = mightHaveTypePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a bracketed type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED NAME\n const tagMustHaveNamePosition = utils.tagMustHaveNamePosition(tag.tag, otherModeMaps);\n\n // Don't handle `@param` here though it does require name as handled by\n // `require-param-name` (`@property` would similarly seem to require one,\n // but is handled by `require-property-name`)\n if (tagMustHaveNamePosition !== false && !tag.name && !allowEmptyNamepaths && ![\n 'param', 'arg', 'argument',\n 'property', 'prop',\n ].includes(tag.tag) &&\n (tag.tag !== 'see' || !utils.getTagDescription(tag).includes('{@link'))\n ) {\n const modeInfo = tagMustHaveNamePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a name/namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE\n const mustHaveTypePosition = utils.tagMustHaveTypePosition(tag.tag, otherModeMaps);\n if (mustHaveTypePosition !== false && !tag.type) {\n const modeInfo = mustHaveTypePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE OR NAME/NAMEPATH\n const tagMissingRequiredTypeOrNamepath = utils.tagMissingRequiredTypeOrNamepath(tag, otherModeMaps);\n if (tagMissingRequiredTypeOrNamepath !== false && !allowEmptyNamepaths) {\n const modeInfo = tagMissingRequiredTypeOrNamepath === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have either a type or namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // VALID TYPE\n const hasTypePosition = mightHaveTypePosition === true && Boolean(tag.type);\n if (hasTypePosition) {\n validTypeParsing(tag.type);\n }\n\n // VALID NAME/NAMEPATH\n const hasNameOrNamepathPosition = (\n tagMustHaveNamePosition !== false ||\n utils.tagMightHaveNamepath(tag.tag)\n ) && Boolean(tag.name);\n\n if (hasNameOrNamepathPosition) {\n if (mode !== 'jsdoc' && tag.tag === 'template') {\n for (const namepath of utils.parseClosureTemplateTag(tag)) {\n validNamepathParsing(namepath);\n }\n } else {\n validNamepathParsing(tag.name, tag.tag);\n }\n }\n }\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Requires all types to be valid JSDoc or Closure compiler types without syntax errors.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types',\n },\n schema: [\n {\n additionalProperies: false,\n properties: {\n allowEmptyNamepaths: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"validTypes.js"}
|
|
1
|
+
{"version":3,"file":"validTypes.js","names":["asExpression","suppressTypes","Set","tryParsePathIgnoreError","path","tryParse","iterateJsdoc","jsdoc","report","utils","context","settings","allowEmptyNamepaths","options","mode","tag","tags","validNamepathParsing","namepath","tagName","handled","startsWith","endChar","slice","includes","startChar","charAt","validTypeParsing","type","parse","thisNamepath","getTagDescription","replace","trim","test","thatNamepath","name","parsedTypes","traverse","node","value","undefined","has","otherModeMaps","filter","mde","map","getTagStructureForMode","tagMightHaveNamePosition","modeInfo","mightHaveTypePosition","tagMightHaveTypePosition","tagMustHaveNamePosition","mustHaveTypePosition","tagMustHaveTypePosition","tagMissingRequiredTypeOrNamepath","hasTypePosition","Boolean","hasNameOrNamepathPosition","tagMightHaveNamepath","parseClosureTemplateTag","iterateAllJsdocs","meta","docs","description","url","schema","additionalProperies","properties","default"],"sources":["../../src/rules/validTypes.js"],"sourcesContent":["import {\n tryParse,\n parse,\n traverse,\n} from '@es-joy/jsdoccomment';\nimport iterateJsdoc from '../iterateJsdoc';\n\nconst asExpression = /as\\s+/u;\n\nconst suppressTypes = new Set([\n // https://github.com/google/closure-compiler/wiki/@suppress-annotations\n // https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/ParserConfig.properties#L154\n 'accessControls',\n 'checkDebuggerStatement',\n 'checkPrototypalTypes',\n 'checkRegExp',\n 'checkTypes',\n 'checkVars',\n 'closureDepMethodUsageChecks',\n 'const',\n 'constantProperty',\n 'deprecated',\n 'duplicate',\n 'es5Strict',\n 'externsValidation',\n 'extraProvide',\n 'extraRequire',\n 'globalThis',\n 'invalidCasts',\n 'lateProvide',\n 'legacyGoogScopeRequire',\n 'lintChecks',\n 'messageConventions',\n 'misplacedTypeAnnotation',\n 'missingOverride',\n 'missingPolyfill',\n 'missingProperties',\n 'missingProvide',\n 'missingRequire',\n 'missingSourcesWarnings',\n 'moduleLoad',\n 'nonStandardJsDocs',\n 'partialAlias',\n 'polymer',\n 'reportUnknownTypes',\n 'strictMissingProperties',\n 'strictModuleDepCheck',\n 'strictPrimitiveOperators',\n 'suspiciousCode',\n\n // Not documented in enum\n 'switch',\n 'transitionalSuspiciousCodeWarnings',\n 'undefinedNames',\n 'undefinedVars',\n 'underscore',\n 'unknownDefines',\n 'untranspilableFeatures',\n 'unusedLocalVariables',\n 'unusedPrivateMembers',\n 'useOfGoogProvide',\n 'uselessCode',\n 'visibility',\n 'with',\n]);\n\nconst tryParsePathIgnoreError = (path) => {\n try {\n tryParse(path);\n\n return true;\n } catch {\n // Keep the original error for including the whole type\n }\n\n return false;\n};\n\n// eslint-disable-next-line complexity\nexport default iterateJsdoc(({\n jsdoc,\n report,\n utils,\n context,\n settings,\n}) => {\n const {\n allowEmptyNamepaths = false,\n } = context.options[0] || {};\n const {\n mode,\n } = settings;\n\n for (const tag of jsdoc.tags) {\n const validNamepathParsing = function (namepath, tagName) {\n if (tryParsePathIgnoreError(namepath)) {\n return true;\n }\n\n let handled = false;\n\n if (tagName) {\n // eslint-disable-next-line default-case\n switch (tagName) {\n case 'requires':\n case 'module': {\n if (!namepath.startsWith('module:')) {\n handled = tryParsePathIgnoreError(`module:${namepath}`);\n }\n\n break;\n }\n\n case 'memberof': case 'memberof!': {\n const endChar = namepath.slice(-1);\n if ([\n '#', '.', '~',\n ].includes(endChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(0, -1));\n }\n\n break;\n }\n\n case 'borrows': {\n const startChar = namepath.charAt();\n if ([\n '#', '.', '~',\n ].includes(startChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(1));\n }\n }\n }\n }\n\n if (!handled) {\n report(`Syntax error in namepath: ${namepath}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n const validTypeParsing = function (type) {\n try {\n if (mode === 'permissive') {\n tryParse(type);\n } else {\n parse(type, mode);\n }\n } catch {\n report(`Syntax error in type: ${type}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n if (tag.tag === 'borrows') {\n const thisNamepath = utils.getTagDescription(tag).replace(asExpression, '')\n .trim();\n\n if (!asExpression.test(utils.getTagDescription(tag)) || !thisNamepath) {\n report(`@borrows must have an \"as\" expression. Found \"${utils.getTagDescription(tag)}\"`, null, tag);\n\n continue;\n }\n\n if (validNamepathParsing(thisNamepath, 'borrows')) {\n const thatNamepath = tag.name;\n\n validNamepathParsing(thatNamepath);\n }\n\n continue;\n }\n\n if (tag.tag === 'suppress' && mode === 'closure') {\n let parsedTypes;\n\n try {\n parsedTypes = tryParse(tag.type);\n } catch {\n // Ignore\n }\n\n if (parsedTypes) {\n traverse(parsedTypes, (node) => {\n const {\n value: type,\n } = node;\n if (type !== undefined && !suppressTypes.has(type)) {\n report(`Syntax error in supresss type: ${type}`, null, tag);\n }\n });\n }\n }\n\n const otherModeMaps = [\n 'jsdoc', 'typescript', 'closure', 'permissive',\n ].filter(\n (mde) => {\n return mde !== mode;\n },\n ).map((mde) => {\n return utils.getTagStructureForMode(mde);\n });\n\n const tagMightHaveNamePosition = utils.tagMightHaveNamePosition(tag.tag, otherModeMaps);\n if (tagMightHaveNamePosition !== true && tag.name) {\n const modeInfo = tagMightHaveNamePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a name${modeInfo}.`, null, tag);\n\n continue;\n }\n\n const mightHaveTypePosition = utils.tagMightHaveTypePosition(tag.tag, otherModeMaps);\n if (mightHaveTypePosition !== true && tag.type) {\n const modeInfo = mightHaveTypePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a bracketed type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED NAME\n const tagMustHaveNamePosition = utils.tagMustHaveNamePosition(tag.tag, otherModeMaps);\n\n // Don't handle `@param` here though it does require name as handled by\n // `require-param-name` (`@property` would similarly seem to require one,\n // but is handled by `require-property-name`)\n if (tagMustHaveNamePosition !== false && !tag.name && !allowEmptyNamepaths && ![\n 'param', 'arg', 'argument',\n 'property', 'prop',\n ].includes(tag.tag) &&\n (tag.tag !== 'see' || !utils.getTagDescription(tag).includes('{@link'))\n ) {\n const modeInfo = tagMustHaveNamePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a name/namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE\n const mustHaveTypePosition = utils.tagMustHaveTypePosition(tag.tag, otherModeMaps);\n if (mustHaveTypePosition !== false && !tag.type) {\n const modeInfo = mustHaveTypePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE OR NAME/NAMEPATH\n const tagMissingRequiredTypeOrNamepath = utils.tagMissingRequiredTypeOrNamepath(tag, otherModeMaps);\n if (tagMissingRequiredTypeOrNamepath !== false && !allowEmptyNamepaths) {\n const modeInfo = tagMissingRequiredTypeOrNamepath === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have either a type or namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // VALID TYPE\n const hasTypePosition = mightHaveTypePosition === true && Boolean(tag.type);\n if (hasTypePosition) {\n validTypeParsing(tag.type);\n }\n\n // VALID NAME/NAMEPATH\n const hasNameOrNamepathPosition = (\n tagMustHaveNamePosition !== false ||\n utils.tagMightHaveNamepath(tag.tag)\n ) && Boolean(tag.name);\n\n if (hasNameOrNamepathPosition) {\n if (mode !== 'jsdoc' && tag.tag === 'template') {\n for (const namepath of utils.parseClosureTemplateTag(tag)) {\n validNamepathParsing(namepath);\n }\n } else {\n validNamepathParsing(tag.name, tag.tag);\n }\n }\n }\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Requires all types to be valid JSDoc or Closure compiler types without syntax errors.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types',\n },\n schema: [\n {\n additionalProperies: false,\n properties: {\n allowEmptyNamepaths: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
|
package/dist/tagNames.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"tagNames.js","names":["jsdocTagsUndocumented","modifies","jsdocTags","abstract","access","alias","async","augments","author","borrows","callback","class","classdesc","constant","constructs","copyright","default","deprecated","description","enum","event","example","exports","external","file","fires","function","generator","global","hideconstructor","ignore","implements","inheritdoc","inheritDoc","inner","instance","interface","kind","lends","license","listens","member","memberof","mixes","mixin","module","name","namespace","override","package","param","private","property","protected","public","readonly","requires","returns","see","since","static","summary","this","throws","todo","tutorial","type","typedef","variation","version","yields","typeScriptTags","internal","template","undocumentedClosureTags","closurePrimitive","customElement","expose","hidden","idGenerator","meaning","mixinClass","mixinFunction","ngInject","owner","typeSummary","wizaction","typeScriptTagsInClosure","closureTags","define","dict","export","externs","final","implicitCast","noalias","nocollapse","nocompile","noinline","nosideeffects","polymer","polymerBehavior","preserve","record","return","struct","suppress","unrestricted"],"sources":["../src/tagNames.js"],"sourcesContent":["const jsdocTagsUndocumented = {\n // Undocumented but present; see\n // https://github.com/jsdoc/jsdoc/issues/1283#issuecomment-516816802\n // https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js#L594\n modifies: [],\n};\n\nconst jsdocTags = {\n ...jsdocTagsUndocumented,\n abstract: [\n 'virtual',\n ],\n access: [],\n alias: [],\n async: [],\n augments: [\n 'extends',\n ],\n author: [],\n borrows: [],\n callback: [],\n class: [\n 'constructor',\n ],\n classdesc: [],\n constant: [\n 'const',\n ],\n constructs: [],\n copyright: [],\n default: [\n 'defaultvalue',\n ],\n deprecated: [],\n description: [\n 'desc',\n ],\n enum: [],\n event: [],\n example: [],\n exports: [],\n external: [\n 'host',\n ],\n file: [\n 'fileoverview',\n 'overview',\n ],\n fires: [\n 'emits',\n ],\n function: [\n 'func',\n 'method',\n ],\n generator: [],\n global: [],\n hideconstructor: [],\n ignore: [],\n implements: [],\n inheritdoc: [],\n\n // Allowing casing distinct from jsdoc `definitions.js` (required in Closure)\n inheritDoc: [],\n\n inner: [],\n instance: [],\n interface: [],\n kind: [],\n lends: [],\n license: [],\n listens: [],\n member: [\n 'var',\n ],\n memberof: [],\n 'memberof!': [],\n mixes: [],\n mixin: [],\n\n module: [],\n name: [],\n namespace: [],\n override: [],\n package: [],\n param: [\n 'arg',\n 'argument',\n ],\n private: [],\n property: [\n 'prop',\n ],\n protected: [],\n public: [],\n readonly: [],\n requires: [],\n returns: [\n 'return',\n ],\n see: [],\n since: [],\n static: [],\n summary: [],\n\n this: [],\n throws: [\n 'exception',\n ],\n todo: [],\n tutorial: [],\n type: [],\n typedef: [],\n variation: [],\n version: [],\n yields: [\n 'yield',\n ],\n};\n\nconst typeScriptTags = {\n ...jsdocTags,\n\n // https://www.typescriptlang.org/tsconfig/#stripInternal\n internal: [],\n\n // `@template` is also in TypeScript per:\n // https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc\n template: [],\n};\n\nconst undocumentedClosureTags = {\n // These are in Closure source but not in jsdoc source nor in the Closure\n // docs: https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/Annotation.java\n closurePrimitive: [],\n customElement: [],\n expose: [],\n hidden: [],\n idGenerator: [],\n meaning: [],\n mixinClass: [],\n mixinFunction: [],\n ngInject: [],\n owner: [],\n typeSummary: [],\n wizaction: [],\n};\n\nconst {\n /* eslint-disable no-unused-vars */\n inheritdoc,\n internal,\n\n // Will be inverted to prefer `return`\n returns,\n /* eslint-enable no-unused-vars */\n ...typeScriptTagsInClosure\n} = typeScriptTags;\n\nconst closureTags = {\n ...typeScriptTagsInClosure,\n ...undocumentedClosureTags,\n\n // From https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler\n // These are all recognized in https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js\n // except for the experimental `noinline` and the casing differences noted below\n\n // Defined as a synonym of `const` in jsdoc `definitions.js`\n define: [],\n\n dict: [],\n export: [],\n externs: [],\n final: [],\n\n // With casing distinct from jsdoc `definitions.js`\n implicitCast: [],\n\n noalias: [],\n nocollapse: [],\n nocompile: [],\n noinline: [],\n nosideeffects: [],\n polymer: [],\n polymerBehavior: [],\n preserve: [],\n\n // Defined as a synonym of `interface` in jsdoc `definitions.js`\n record: [],\n\n return: [\n 'returns',\n ],\n\n struct: [],\n suppress: [],\n\n unrestricted: [],\n};\n\nexport {\n jsdocTags,\n closureTags,\n typeScriptTags,\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"url": "http://gajus.com"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@es-joy/jsdoccomment": "~0.
|
|
8
|
+
"@es-joy/jsdoccomment": "~0.31.0",
|
|
9
9
|
"comment-parser": "1.3.1",
|
|
10
10
|
"debug": "^4.3.4",
|
|
11
11
|
"escape-string-regexp": "^4.0.0",
|
|
@@ -15,37 +15,37 @@
|
|
|
15
15
|
},
|
|
16
16
|
"description": "JSDoc linting rules for ESLint.",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@babel/cli": "^7.17.
|
|
19
|
-
"@babel/core": "^7.
|
|
18
|
+
"@babel/cli": "^7.17.10",
|
|
19
|
+
"@babel/core": "^7.18.0",
|
|
20
20
|
"@babel/eslint-parser": "^7.17.0",
|
|
21
|
-
"@babel/node": "^7.
|
|
21
|
+
"@babel/node": "^7.17.10",
|
|
22
22
|
"@babel/plugin-syntax-class-properties": "^7.12.13",
|
|
23
|
-
"@babel/plugin-transform-flow-strip-types": "^7.
|
|
24
|
-
"@babel/preset-env": "^7.
|
|
23
|
+
"@babel/plugin-transform-flow-strip-types": "^7.17.12",
|
|
24
|
+
"@babel/preset-env": "^7.18.0",
|
|
25
25
|
"@babel/register": "^7.17.7",
|
|
26
|
-
"@es-joy/jsdoc-eslint-parser": "^0.
|
|
26
|
+
"@es-joy/jsdoc-eslint-parser": "^0.17.0",
|
|
27
27
|
"@hkdobrev/run-if-changed": "^0.3.1",
|
|
28
|
-
"@typescript-eslint/parser": "^5.
|
|
28
|
+
"@typescript-eslint/parser": "^5.26.0",
|
|
29
29
|
"babel-plugin-add-module-exports": "^1.0.4",
|
|
30
30
|
"babel-plugin-istanbul": "^6.1.1",
|
|
31
31
|
"camelcase": "^6.3.0",
|
|
32
32
|
"chai": "^4.3.6",
|
|
33
33
|
"cross-env": "^7.0.3",
|
|
34
34
|
"decamelize": "^5.0.1",
|
|
35
|
-
"eslint": "^8.
|
|
35
|
+
"eslint": "^8.16.0",
|
|
36
36
|
"eslint-config-canonical": "~33.0.1",
|
|
37
37
|
"gitdown": "^3.1.5",
|
|
38
|
-
"glob": "^8.0.
|
|
39
|
-
"husky": "^
|
|
40
|
-
"jsdoc-type-pratt-parser": "^3.0
|
|
41
|
-
"lint-staged": "^12.4.
|
|
38
|
+
"glob": "^8.0.3",
|
|
39
|
+
"husky": "^8.0.1",
|
|
40
|
+
"jsdoc-type-pratt-parser": "^3.1.0",
|
|
41
|
+
"lint-staged": "^12.4.1",
|
|
42
42
|
"lodash.defaultsdeep": "^4.6.1",
|
|
43
|
-
"mocha": "^
|
|
43
|
+
"mocha": "^10.0.0",
|
|
44
44
|
"nyc": "^15.1.0",
|
|
45
45
|
"open-editor": "^3.0.0",
|
|
46
46
|
"rimraf": "^3.0.2",
|
|
47
47
|
"semantic-release": "^19.0.2",
|
|
48
|
-
"typescript": "^4.6.
|
|
48
|
+
"typescript": "^4.6.4"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": "^14 || ^16 || ^17 || ^18"
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"test-cov": "cross-env TIMING=1 nyc --reporter text npm run test-no-cov",
|
|
118
118
|
"test-index": "npm run test-no-cov -- test/rules/index.js"
|
|
119
119
|
},
|
|
120
|
-
"version": "39.2
|
|
120
|
+
"version": "39.3.2"
|
|
121
121
|
}
|