eslint-plugin-jsdoc 46.4.5 → 46.4.6

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.
Files changed (136) hide show
  1. package/dist/WarnSettings.d.ts +17 -0
  2. package/dist/WarnSettings.d.ts.map +1 -0
  3. package/dist/alignTransform.d.ts +32 -0
  4. package/dist/alignTransform.d.ts.map +1 -0
  5. package/dist/alignTransform.js +5 -5
  6. package/dist/alignTransform.js.map +1 -1
  7. package/dist/defaultTagOrder.d.ts +5 -0
  8. package/dist/defaultTagOrder.d.ts.map +1 -0
  9. package/dist/exportParser.d.ts +41 -0
  10. package/dist/exportParser.d.ts.map +1 -0
  11. package/dist/getDefaultTagStructureForMode.d.ts +11 -0
  12. package/dist/getDefaultTagStructureForMode.d.ts.map +1 -0
  13. package/dist/index.d.ts +10 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/iterateJsdoc.d.ts +460 -0
  16. package/dist/iterateJsdoc.d.ts.map +1 -0
  17. package/dist/iterateJsdoc.js +1 -1
  18. package/dist/iterateJsdoc.js.map +1 -1
  19. package/dist/jsdocUtils.d.ts +421 -0
  20. package/dist/jsdocUtils.d.ts.map +1 -0
  21. package/dist/rules/checkAccess.d.ts +3 -0
  22. package/dist/rules/checkAccess.d.ts.map +1 -0
  23. package/dist/rules/checkAlignment.d.ts +3 -0
  24. package/dist/rules/checkAlignment.d.ts.map +1 -0
  25. package/dist/rules/checkExamples.d.ts +4 -0
  26. package/dist/rules/checkExamples.d.ts.map +1 -0
  27. package/dist/rules/checkExamples.js +12 -6
  28. package/dist/rules/checkExamples.js.map +1 -1
  29. package/dist/rules/checkIndentation.d.ts +3 -0
  30. package/dist/rules/checkIndentation.d.ts.map +1 -0
  31. package/dist/rules/checkLineAlignment.d.ts +10 -0
  32. package/dist/rules/checkLineAlignment.d.ts.map +1 -0
  33. package/dist/rules/checkParamNames.d.ts +3 -0
  34. package/dist/rules/checkParamNames.d.ts.map +1 -0
  35. package/dist/rules/checkPropertyNames.d.ts +3 -0
  36. package/dist/rules/checkPropertyNames.d.ts.map +1 -0
  37. package/dist/rules/checkSyntax.d.ts +3 -0
  38. package/dist/rules/checkSyntax.d.ts.map +1 -0
  39. package/dist/rules/checkTagNames.d.ts +3 -0
  40. package/dist/rules/checkTagNames.d.ts.map +1 -0
  41. package/dist/rules/checkTypes.d.ts +3 -0
  42. package/dist/rules/checkTypes.d.ts.map +1 -0
  43. package/dist/rules/checkValues.d.ts +3 -0
  44. package/dist/rules/checkValues.d.ts.map +1 -0
  45. package/dist/rules/emptyTags.d.ts +3 -0
  46. package/dist/rules/emptyTags.d.ts.map +1 -0
  47. package/dist/rules/implementsOnClasses.d.ts +3 -0
  48. package/dist/rules/implementsOnClasses.d.ts.map +1 -0
  49. package/dist/rules/importsAsDependencies.d.ts +3 -0
  50. package/dist/rules/importsAsDependencies.d.ts.map +1 -0
  51. package/dist/rules/informativeDocs.d.ts +3 -0
  52. package/dist/rules/informativeDocs.d.ts.map +1 -0
  53. package/dist/rules/matchDescription.d.ts +3 -0
  54. package/dist/rules/matchDescription.d.ts.map +1 -0
  55. package/dist/rules/matchName.d.ts +3 -0
  56. package/dist/rules/matchName.d.ts.map +1 -0
  57. package/dist/rules/multilineBlocks.d.ts +3 -0
  58. package/dist/rules/multilineBlocks.d.ts.map +1 -0
  59. package/dist/rules/noBadBlocks.d.ts +3 -0
  60. package/dist/rules/noBadBlocks.d.ts.map +1 -0
  61. package/dist/rules/noBlankBlockDescriptions.d.ts +3 -0
  62. package/dist/rules/noBlankBlockDescriptions.d.ts.map +1 -0
  63. package/dist/rules/noBlankBlocks.d.ts +3 -0
  64. package/dist/rules/noBlankBlocks.d.ts.map +1 -0
  65. package/dist/rules/noDefaults.d.ts +3 -0
  66. package/dist/rules/noDefaults.d.ts.map +1 -0
  67. package/dist/rules/noMissingSyntax.d.ts +10 -0
  68. package/dist/rules/noMissingSyntax.d.ts.map +1 -0
  69. package/dist/rules/noMultiAsterisks.d.ts +3 -0
  70. package/dist/rules/noMultiAsterisks.d.ts.map +1 -0
  71. package/dist/rules/noRestrictedSyntax.d.ts +3 -0
  72. package/dist/rules/noRestrictedSyntax.d.ts.map +1 -0
  73. package/dist/rules/noTypes.d.ts +3 -0
  74. package/dist/rules/noTypes.d.ts.map +1 -0
  75. package/dist/rules/noUndefinedTypes.d.ts +3 -0
  76. package/dist/rules/noUndefinedTypes.d.ts.map +1 -0
  77. package/dist/rules/requireAsteriskPrefix.d.ts +3 -0
  78. package/dist/rules/requireAsteriskPrefix.d.ts.map +1 -0
  79. package/dist/rules/requireDescription.d.ts +3 -0
  80. package/dist/rules/requireDescription.d.ts.map +1 -0
  81. package/dist/rules/requireDescriptionCompleteSentence.d.ts +3 -0
  82. package/dist/rules/requireDescriptionCompleteSentence.d.ts.map +1 -0
  83. package/dist/rules/requireExample.d.ts +3 -0
  84. package/dist/rules/requireExample.d.ts.map +1 -0
  85. package/dist/rules/requireFileOverview.d.ts +3 -0
  86. package/dist/rules/requireFileOverview.d.ts.map +1 -0
  87. package/dist/rules/requireHyphenBeforeParamDescription.d.ts +3 -0
  88. package/dist/rules/requireHyphenBeforeParamDescription.d.ts.map +1 -0
  89. package/dist/rules/requireJsdoc.d.ts +9 -0
  90. package/dist/rules/requireJsdoc.d.ts.map +1 -0
  91. package/dist/rules/requireParam.d.ts +4 -0
  92. package/dist/rules/requireParam.d.ts.map +1 -0
  93. package/dist/rules/requireParamDescription.d.ts +3 -0
  94. package/dist/rules/requireParamDescription.d.ts.map +1 -0
  95. package/dist/rules/requireParamName.d.ts +3 -0
  96. package/dist/rules/requireParamName.d.ts.map +1 -0
  97. package/dist/rules/requireParamType.d.ts +3 -0
  98. package/dist/rules/requireParamType.d.ts.map +1 -0
  99. package/dist/rules/requireProperty.d.ts +3 -0
  100. package/dist/rules/requireProperty.d.ts.map +1 -0
  101. package/dist/rules/requirePropertyDescription.d.ts +3 -0
  102. package/dist/rules/requirePropertyDescription.d.ts.map +1 -0
  103. package/dist/rules/requirePropertyName.d.ts +3 -0
  104. package/dist/rules/requirePropertyName.d.ts.map +1 -0
  105. package/dist/rules/requirePropertyType.d.ts +3 -0
  106. package/dist/rules/requirePropertyType.d.ts.map +1 -0
  107. package/dist/rules/requireReturns.d.ts +3 -0
  108. package/dist/rules/requireReturns.d.ts.map +1 -0
  109. package/dist/rules/requireReturnsCheck.d.ts +3 -0
  110. package/dist/rules/requireReturnsCheck.d.ts.map +1 -0
  111. package/dist/rules/requireReturnsDescription.d.ts +3 -0
  112. package/dist/rules/requireReturnsDescription.d.ts.map +1 -0
  113. package/dist/rules/requireReturnsType.d.ts +3 -0
  114. package/dist/rules/requireReturnsType.d.ts.map +1 -0
  115. package/dist/rules/requireThrows.d.ts +3 -0
  116. package/dist/rules/requireThrows.d.ts.map +1 -0
  117. package/dist/rules/requireYields.d.ts +3 -0
  118. package/dist/rules/requireYields.d.ts.map +1 -0
  119. package/dist/rules/requireYieldsCheck.d.ts +3 -0
  120. package/dist/rules/requireYieldsCheck.d.ts.map +1 -0
  121. package/dist/rules/sortTags.d.ts +3 -0
  122. package/dist/rules/sortTags.d.ts.map +1 -0
  123. package/dist/rules/tagLines.d.ts +3 -0
  124. package/dist/rules/tagLines.d.ts.map +1 -0
  125. package/dist/rules/textEscaping.d.ts +3 -0
  126. package/dist/rules/textEscaping.d.ts.map +1 -0
  127. package/dist/rules/validTypes.d.ts +3 -0
  128. package/dist/rules/validTypes.d.ts.map +1 -0
  129. package/dist/tagNames.d.ts +16 -0
  130. package/dist/tagNames.d.ts.map +1 -0
  131. package/dist/utils/hasReturnValue.d.ts +20 -0
  132. package/dist/utils/hasReturnValue.d.ts.map +1 -0
  133. package/docs/rules/imports-as-dependencies.md +1 -1
  134. package/package.json +10 -8
  135. package/tsconfig-prod.json +20 -0
  136. package/tsconfig.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"checkExamples.js","names":["_iterateJsdoc","_interopRequireDefault","require","_eslint","_semver","obj","__esModule","default","zeroBasedLineIndexAdjust","likelyNestedJSDocIndentSpace","preTagSpaceLength","firstLinePrefixLength","hasCaptionRegex","escapeStringRegexp","str","replaceAll","countChars","ch","match","RegExp","length","defaultMdRules","defaultExpressionRules","quotes","semi","strict","getLinesCols","text","matchLines","colDelta","slice","lastIndexOf","_default","iterateJsdoc","report","utils","context","globalState","semver","gte","ESLint","version","column","line","has","set","Map","matchingFileNameMap","get","options","exampleCodeRegex","rejectExampleCodeRegex","checkDefaults","checkParams","checkProperties","noDefaultExampleRules","checkEslintrc","matchingFileName","matchingFileNameDefaults","matchingFileNameParams","matchingFileNameProperties","paddedIndent","baseConfig","configFile","allowInlineConfig","reportUnusedDisableDirectives","captionRequired","rulePaths","mdRules","undefined","expressionRules","getRegexFromString","checkSource","filename","defaultFileName","rules","lines","cols","skipInit","source","targetTagName","sources","tag","push","nonJSPrefacingCols","nonJSPrefacingLines","string","checkRules","cliConfig","useEslintrc","cliConfigStr","JSON","stringify","src","fileNameMapKey","file","cliFile","cli","CLIEngine","config","getConfigForFile","results","messages","executeOnText","number","codeStartLine","codeStartCol","message","severity","ruleId","startLine","startCol","targetSource","getFilenameInfo","ext","jsFileName","getFilename","includes","replace","filenameInfo","forEachPreferredTag","description","trim","getTagDescription","tagName","getPreferredTagName","hasTag","matchingFilenameInfo","test","startingIndex","lastStringCount","exampleCode","lastIndex","exec","index","n0","n1","preMatch","preMatchLines","nonJSPreface","nonJSPrefaceLineCount","idx","indexOf","charsInLastLine","global","iterateAllJsdocs","meta","docs","url","schema","additionalProperties","properties","type","exports","module"],"sources":["../../src/rules/checkExamples.js"],"sourcesContent":["// Todo: When replace `CLIEngine` with `ESLint` when feature set complete per https://github.com/eslint/eslint/issues/14745\n// https://github.com/eslint/eslint/blob/master/docs/user-guide/migrating-to-7.0.0.md#-the-cliengine-class-has-been-deprecated\nimport iterateJsdoc from '../iterateJsdoc.js';\nimport {\n // @ts-expect-error - For older ESLint\n CLIEngine,\n ESLint,\n} from 'eslint';\nimport semver from 'semver';\n\nconst zeroBasedLineIndexAdjust = -1;\nconst likelyNestedJSDocIndentSpace = 1;\nconst preTagSpaceLength = 1;\n\n// If a space is present, we should ignore it\nconst firstLinePrefixLength = preTagSpaceLength;\n\nconst hasCaptionRegex = /^\\s*<caption>([\\s\\S]*?)<\\/caption>/u;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nconst escapeStringRegexp = (str) => {\n return str.replaceAll(/[.*+?^${}()|[\\]\\\\]/gu, '\\\\$&');\n};\n\n/**\n * @param {string} str\n * @param {string} ch\n * @returns {import('../iterateJsdoc').Integer}\n */\nconst countChars = (str, ch) => {\n return (str.match(new RegExp(escapeStringRegexp(ch), 'gu')) || []).length;\n};\n\n/** @type {import('eslint').Linter.RulesRecord} */\nconst defaultMdRules = {\n // \"always\" newline rule at end unlikely in sample code\n 'eol-last': 0,\n\n // Wouldn't generally expect example paths to resolve relative to JS file\n 'import/no-unresolved': 0,\n\n // Snippets likely too short to always include import/export info\n 'import/unambiguous': 0,\n\n 'jsdoc/require-file-overview': 0,\n\n // The end of a multiline comment would end the comment the example is in.\n 'jsdoc/require-jsdoc': 0,\n\n // Unlikely to have inadvertent debugging within examples\n 'no-console': 0,\n\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n 'no-multiple-empty-lines': 0,\n\n // Many variables in examples will be `undefined`\n 'no-undef': 0,\n\n // Common to define variables for clarity without always using them\n 'no-unused-vars': 0,\n\n // See import/no-unresolved\n 'node/no-missing-import': 0,\n 'node/no-missing-require': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n 'padded-blocks': 0,\n};\n\n/** @type {import('eslint').Linter.RulesRecord} */\nconst defaultExpressionRules = {\n ...defaultMdRules,\n 'chai-friendly/no-unused-expressions': 'off',\n 'no-empty-function': 'off',\n 'no-new': 'off',\n 'no-unused-expressions': 'off',\n quotes: [\n 'error', 'double',\n ],\n semi: [\n 'error', 'never',\n ],\n strict: 'off',\n};\n\n/**\n * @param {string} text\n * @returns {[\n * import('../iterateJsdoc.js').Integer,\n * import('../iterateJsdoc.js').Integer\n * ]}\n */\nconst getLinesCols = (text) => {\n const matchLines = countChars(text, '\\n');\n\n const colDelta = matchLines ?\n text.slice(text.lastIndexOf('\\n') + 1).length :\n text.length;\n\n return [\n matchLines, colDelta,\n ];\n};\n\nexport default iterateJsdoc(({\n report,\n utils,\n context,\n globalState,\n}) => {\n if (semver.gte(ESLint.version, '8.0.0')) {\n report(\n 'This rule cannot yet be supported for ESLint 8; you ' +\n 'should either downgrade to ESLint 7 or disable this rule. The ' +\n 'possibility for ESLint 8 support is being tracked at https://github.com/eslint/eslint/issues/14745',\n null,\n {\n column: 1,\n line: 1,\n },\n );\n\n return;\n }\n\n if (!globalState.has('checkExamples-matchingFileName')) {\n globalState.set('checkExamples-matchingFileName', new Map());\n }\n\n const matchingFileNameMap = /** @type {Map<string, string>} */ (\n globalState.get('checkExamples-matchingFileName')\n );\n\n const options = context.options[0] || {};\n let {\n exampleCodeRegex = null,\n rejectExampleCodeRegex = null,\n } = options;\n const {\n checkDefaults = false,\n checkParams = false,\n checkProperties = false,\n noDefaultExampleRules = false,\n checkEslintrc = true,\n matchingFileName = null,\n matchingFileNameDefaults = null,\n matchingFileNameParams = null,\n matchingFileNameProperties = null,\n paddedIndent = 0,\n baseConfig = {},\n configFile,\n allowInlineConfig = true,\n reportUnusedDisableDirectives = true,\n captionRequired = false,\n } = options;\n\n // Make this configurable?\n /**\n * @type {never[]}\n */\n const rulePaths = [];\n\n const mdRules = noDefaultExampleRules ? undefined : defaultMdRules;\n\n const expressionRules = noDefaultExampleRules ? undefined : defaultExpressionRules;\n\n if (exampleCodeRegex) {\n exampleCodeRegex = utils.getRegexFromString(exampleCodeRegex);\n }\n\n if (rejectExampleCodeRegex) {\n rejectExampleCodeRegex = utils.getRegexFromString(rejectExampleCodeRegex);\n }\n\n /**\n * @param {{\n * filename: string,\n * defaultFileName: string|undefined,\n * source: string,\n * targetTagName: string,\n * rules?: import('eslint').Linter.RulesRecord|undefined,\n * lines?: import('../iterateJsdoc.js').Integer,\n * cols?: import('../iterateJsdoc.js').Integer,\n * skipInit?: boolean,\n * sources?: {\n * nonJSPrefacingCols: import('../iterateJsdoc.js').Integer,\n * nonJSPrefacingLines: import('../iterateJsdoc.js').Integer,\n * string: string,\n * }[],\n * tag?: import('comment-parser').Spec & {\n * line?: import('../iterateJsdoc.js').Integer,\n * }|{\n * line: import('../iterateJsdoc.js').Integer,\n * }\n * }} cfg\n */\n const checkSource = ({\n filename,\n defaultFileName,\n rules = expressionRules,\n lines = 0,\n cols = 0,\n skipInit,\n source,\n targetTagName,\n sources = [],\n tag = {\n line: 0,\n },\n }) => {\n if (!skipInit) {\n sources.push({\n nonJSPrefacingCols: cols,\n nonJSPrefacingLines: lines,\n string: source,\n });\n }\n\n // Todo: Make fixable\n\n /**\n * @param {{\n * nonJSPrefacingCols: import('../iterateJsdoc').Integer,\n * nonJSPrefacingLines: import('../iterateJsdoc').Integer,\n * string: string\n * }} cfg\n */\n const checkRules = function ({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n }) {\n const cliConfig = {\n allowInlineConfig,\n baseConfig,\n configFile,\n reportUnusedDisableDirectives,\n rulePaths,\n rules,\n useEslintrc: checkEslintrc,\n };\n const cliConfigStr = JSON.stringify(cliConfig);\n\n const src = paddedIndent ?\n string.replaceAll(new RegExp(`(^|\\n) {${paddedIndent}}(?!$)`, 'gu'), '\\n') :\n string;\n\n // Programmatic ESLint API: https://eslint.org/docs/developer-guide/nodejs-api\n const fileNameMapKey = filename ?\n 'a' + cliConfigStr + filename :\n 'b' + cliConfigStr + defaultFileName;\n const file = filename || defaultFileName;\n let cliFile;\n if (matchingFileNameMap.has(fileNameMapKey)) {\n cliFile = matchingFileNameMap.get(fileNameMapKey);\n } else {\n const cli = new CLIEngine(cliConfig);\n let config;\n if (filename || checkEslintrc) {\n config = cli.getConfigForFile(file);\n }\n\n // We need a new instance to ensure that the rules that may only\n // be available to `file` (if it has its own `.eslintrc`),\n // will be defined.\n cliFile = new CLIEngine({\n allowInlineConfig,\n baseConfig: {\n ...baseConfig,\n ...config,\n },\n configFile,\n reportUnusedDisableDirectives,\n rulePaths,\n rules,\n useEslintrc: false,\n });\n matchingFileNameMap.set(fileNameMapKey, cliFile);\n }\n\n const {\n results: [\n {\n messages,\n },\n ],\n } = cliFile.executeOnText(src);\n\n if (!('line' in tag)) {\n tag.line = tag.source[0].number;\n }\n\n // NOTE: `tag.line` can be 0 if of form `/** @tag ... */`\n const codeStartLine = /**\n * @type {import('comment-parser').Spec & {\n * line: import('../iterateJsdoc.js').Integer,\n * }}\n */ (tag).line + nonJSPrefacingLines;\n const codeStartCol = likelyNestedJSDocIndentSpace;\n\n for (const {\n message,\n line,\n column,\n severity,\n ruleId,\n } of messages) {\n const startLine = codeStartLine + line + zeroBasedLineIndexAdjust;\n const startCol = codeStartCol + (\n\n // This might not work for line 0, but line 0 is unlikely for examples\n line <= 1 ? nonJSPrefacingCols + firstLinePrefixLength : preTagSpaceLength\n ) + column;\n\n report(\n '@' + targetTagName + ' ' + (severity === 2 ? 'error' : 'warning') +\n (ruleId ? ' (' + ruleId + ')' : '') + ': ' +\n message,\n null,\n {\n column: startCol,\n line: startLine,\n },\n );\n }\n };\n\n for (const targetSource of sources) {\n checkRules(targetSource);\n }\n };\n\n /**\n *\n * @param {string} filename\n * @param {string} [ext] Since `eslint-plugin-markdown` v2, and\n * ESLint 7, this is the default which other JS-fenced rules will used.\n * Formerly \"md\" was the default.\n * @returns {{defaultFileName: string|undefined, filename: string}}\n */\n const getFilenameInfo = (filename, ext = 'md/*.js') => {\n let defaultFileName;\n if (!filename) {\n const jsFileName = context.getFilename();\n if (typeof jsFileName === 'string' && jsFileName.includes('.')) {\n defaultFileName = jsFileName.replace(/\\..*?$/u, `.${ext}`);\n } else {\n defaultFileName = `dummy.${ext}`;\n }\n }\n\n return {\n defaultFileName,\n filename,\n };\n };\n\n if (checkDefaults) {\n const filenameInfo = getFilenameInfo(matchingFileNameDefaults, 'jsdoc-defaults');\n utils.forEachPreferredTag('default', (tag, targetTagName) => {\n if (!tag.description.trim()) {\n return;\n }\n\n checkSource({\n source: `(${utils.getTagDescription(tag)})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkParams) {\n const filenameInfo = getFilenameInfo(matchingFileNameParams, 'jsdoc-params');\n utils.forEachPreferredTag('param', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkProperties) {\n const filenameInfo = getFilenameInfo(matchingFileNameProperties, 'jsdoc-properties');\n utils.forEachPreferredTag('property', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n const tagName = /** @type {string} */ (utils.getPreferredTagName({\n tagName: 'example',\n }));\n if (!utils.hasTag(tagName)) {\n return;\n }\n\n const matchingFilenameInfo = getFilenameInfo(matchingFileName);\n\n utils.forEachPreferredTag('example', (tag, targetTagName) => {\n let source = /** @type {string} */ (utils.getTagDescription(tag));\n const match = source.match(hasCaptionRegex);\n\n if (captionRequired && (!match || !match[1].trim())) {\n report('Caption is expected for examples.', null, tag);\n }\n\n source = source.replace(hasCaptionRegex, '');\n const [\n lines,\n cols,\n ] = match ? getLinesCols(match[0]) : [\n 0, 0,\n ];\n\n if (exampleCodeRegex && !exampleCodeRegex.test(source) ||\n rejectExampleCodeRegex && rejectExampleCodeRegex.test(source)\n ) {\n return;\n }\n\n const sources = [];\n let skipInit = false;\n if (exampleCodeRegex) {\n let nonJSPrefacingCols = 0;\n let nonJSPrefacingLines = 0;\n\n let startingIndex = 0;\n let lastStringCount = 0;\n\n let exampleCode;\n exampleCodeRegex.lastIndex = 0;\n while ((exampleCode = exampleCodeRegex.exec(source)) !== null) {\n const {\n index,\n '0': n0,\n '1': n1,\n } = exampleCode;\n\n // Count anything preceding user regex match (can affect line numbering)\n const preMatch = source.slice(startingIndex, index);\n\n const [\n preMatchLines,\n colDelta,\n ] = getLinesCols(preMatch);\n\n let nonJSPreface;\n let nonJSPrefaceLineCount;\n if (n1) {\n const idx = n0.indexOf(n1);\n nonJSPreface = n0.slice(0, idx);\n nonJSPrefaceLineCount = countChars(nonJSPreface, '\\n');\n } else {\n nonJSPreface = '';\n nonJSPrefaceLineCount = 0;\n }\n\n nonJSPrefacingLines += lastStringCount + preMatchLines + nonJSPrefaceLineCount;\n\n // Ignore `preMatch` delta if newlines here\n if (nonJSPrefaceLineCount) {\n const charsInLastLine = nonJSPreface.slice(nonJSPreface.lastIndexOf('\\n') + 1).length;\n\n nonJSPrefacingCols += charsInLastLine;\n } else {\n nonJSPrefacingCols += colDelta + nonJSPreface.length;\n }\n\n const string = n1 || n0;\n sources.push({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n });\n startingIndex = exampleCodeRegex.lastIndex;\n lastStringCount = countChars(string, '\\n');\n if (!exampleCodeRegex.global) {\n break;\n }\n }\n\n skipInit = true;\n }\n\n checkSource({\n cols,\n lines,\n rules: mdRules,\n skipInit,\n source,\n sources,\n tag,\n targetTagName,\n ...matchingFilenameInfo,\n });\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n allowInlineConfig: {\n default: true,\n type: 'boolean',\n },\n baseConfig: {\n type: 'object',\n },\n captionRequired: {\n default: false,\n type: 'boolean',\n },\n checkDefaults: {\n default: false,\n type: 'boolean',\n },\n checkEslintrc: {\n default: true,\n type: 'boolean',\n },\n checkParams: {\n default: false,\n type: 'boolean',\n },\n checkProperties: {\n default: false,\n type: 'boolean',\n },\n configFile: {\n type: 'string',\n },\n exampleCodeRegex: {\n type: 'string',\n },\n matchingFileName: {\n type: 'string',\n },\n matchingFileNameDefaults: {\n type: 'string',\n },\n matchingFileNameParams: {\n type: 'string',\n },\n matchingFileNameProperties: {\n type: 'string',\n },\n noDefaultExampleRules: {\n default: false,\n type: 'boolean',\n },\n paddedIndent: {\n default: 0,\n type: 'integer',\n },\n rejectExampleCodeRegex: {\n type: 'string',\n },\n reportUnusedDisableDirectives: {\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
+ {"version":3,"file":"checkExamples.js","names":["_iterateJsdoc","_interopRequireDefault","require","_eslint","_interopRequireWildcard","_semver","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CLIEngine","eslint","zeroBasedLineIndexAdjust","likelyNestedJSDocIndentSpace","preTagSpaceLength","firstLinePrefixLength","hasCaptionRegex","escapeStringRegexp","str","replaceAll","countChars","ch","match","RegExp","length","defaultMdRules","defaultExpressionRules","quotes","semi","strict","getLinesCols","text","matchLines","colDelta","slice","lastIndexOf","_default","iterateJsdoc","report","utils","context","globalState","semver","gte","ESLint","version","column","line","Map","matchingFileNameMap","options","exampleCodeRegex","rejectExampleCodeRegex","checkDefaults","checkParams","checkProperties","noDefaultExampleRules","checkEslintrc","matchingFileName","matchingFileNameDefaults","matchingFileNameParams","matchingFileNameProperties","paddedIndent","baseConfig","configFile","allowInlineConfig","reportUnusedDisableDirectives","captionRequired","rulePaths","mdRules","undefined","expressionRules","getRegexFromString","checkSource","filename","defaultFileName","rules","lines","cols","skipInit","source","targetTagName","sources","tag","push","nonJSPrefacingCols","nonJSPrefacingLines","string","checkRules","cliConfig","useEslintrc","cliConfigStr","JSON","stringify","src","fileNameMapKey","file","cliFile","cli","config","getConfigForFile","results","messages","executeOnText","number","codeStartLine","codeStartCol","message","severity","ruleId","startLine","startCol","targetSource","getFilenameInfo","ext","jsFileName","getFilename","includes","replace","filenameInfo","forEachPreferredTag","description","trim","getTagDescription","tagName","getPreferredTagName","hasTag","matchingFilenameInfo","test","startingIndex","lastStringCount","exampleCode","lastIndex","exec","index","n0","n1","preMatch","preMatchLines","nonJSPreface","nonJSPrefaceLineCount","idx","indexOf","charsInLastLine","global","iterateAllJsdocs","meta","docs","url","schema","additionalProperties","properties","type","exports","module"],"sources":["../../src/rules/checkExamples.js"],"sourcesContent":["// Todo: When replace `CLIEngine` with `ESLint` when feature set complete per https://github.com/eslint/eslint/issues/14745\n// https://github.com/eslint/eslint/blob/master/docs/user-guide/migrating-to-7.0.0.md#-the-cliengine-class-has-been-deprecated\nimport iterateJsdoc from '../iterateJsdoc.js';\nimport eslint, {\n ESLint,\n} from 'eslint';\nimport semver from 'semver';\n\nconst {\n // @ts-expect-error Older ESLint\n CLIEngine,\n} = eslint;\n\nconst zeroBasedLineIndexAdjust = -1;\nconst likelyNestedJSDocIndentSpace = 1;\nconst preTagSpaceLength = 1;\n\n// If a space is present, we should ignore it\nconst firstLinePrefixLength = preTagSpaceLength;\n\nconst hasCaptionRegex = /^\\s*<caption>([\\s\\S]*?)<\\/caption>/u;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nconst escapeStringRegexp = (str) => {\n return str.replaceAll(/[.*+?^${}()|[\\]\\\\]/gu, '\\\\$&');\n};\n\n/**\n * @param {string} str\n * @param {string} ch\n * @returns {import('../iterateJsdoc.js').Integer}\n */\nconst countChars = (str, ch) => {\n return (str.match(new RegExp(escapeStringRegexp(ch), 'gu')) || []).length;\n};\n\n/** @type {import('eslint').Linter.RulesRecord} */\nconst defaultMdRules = {\n // \"always\" newline rule at end unlikely in sample code\n 'eol-last': 0,\n\n // Wouldn't generally expect example paths to resolve relative to JS file\n 'import/no-unresolved': 0,\n\n // Snippets likely too short to always include import/export info\n 'import/unambiguous': 0,\n\n 'jsdoc/require-file-overview': 0,\n\n // The end of a multiline comment would end the comment the example is in.\n 'jsdoc/require-jsdoc': 0,\n\n // Unlikely to have inadvertent debugging within examples\n 'no-console': 0,\n\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n 'no-multiple-empty-lines': 0,\n\n // Many variables in examples will be `undefined`\n 'no-undef': 0,\n\n // Common to define variables for clarity without always using them\n 'no-unused-vars': 0,\n\n // See import/no-unresolved\n 'node/no-missing-import': 0,\n 'node/no-missing-require': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n 'padded-blocks': 0,\n};\n\n/** @type {import('eslint').Linter.RulesRecord} */\nconst defaultExpressionRules = {\n ...defaultMdRules,\n 'chai-friendly/no-unused-expressions': 'off',\n 'no-empty-function': 'off',\n 'no-new': 'off',\n 'no-unused-expressions': 'off',\n quotes: [\n 'error', 'double',\n ],\n semi: [\n 'error', 'never',\n ],\n strict: 'off',\n};\n\n/**\n * @param {string} text\n * @returns {[\n * import('../iterateJsdoc.js').Integer,\n * import('../iterateJsdoc.js').Integer\n * ]}\n */\nconst getLinesCols = (text) => {\n const matchLines = countChars(text, '\\n');\n\n const colDelta = matchLines ?\n text.slice(text.lastIndexOf('\\n') + 1).length :\n text.length;\n\n return [\n matchLines, colDelta,\n ];\n};\n\nexport default iterateJsdoc(({\n report,\n utils,\n context,\n globalState,\n}) => {\n if (semver.gte(ESLint.version, '8.0.0')) {\n report(\n 'This rule cannot yet be supported for ESLint 8; you ' +\n 'should either downgrade to ESLint 7 or disable this rule. The ' +\n 'possibility for ESLint 8 support is being tracked at https://github.com/eslint/eslint/issues/14745',\n null,\n {\n column: 1,\n line: 1,\n },\n );\n\n return;\n }\n\n if (!globalState.has('checkExamples-matchingFileName')) {\n globalState.set('checkExamples-matchingFileName', new Map());\n }\n\n const matchingFileNameMap = /** @type {Map<string, string>} */ (\n globalState.get('checkExamples-matchingFileName')\n );\n\n const options = context.options[0] || {};\n let {\n exampleCodeRegex = null,\n rejectExampleCodeRegex = null,\n } = options;\n const {\n checkDefaults = false,\n checkParams = false,\n checkProperties = false,\n noDefaultExampleRules = false,\n checkEslintrc = true,\n matchingFileName = null,\n matchingFileNameDefaults = null,\n matchingFileNameParams = null,\n matchingFileNameProperties = null,\n paddedIndent = 0,\n baseConfig = {},\n configFile,\n allowInlineConfig = true,\n reportUnusedDisableDirectives = true,\n captionRequired = false,\n } = options;\n\n // Make this configurable?\n /**\n * @type {never[]}\n */\n const rulePaths = [];\n\n const mdRules = noDefaultExampleRules ? undefined : defaultMdRules;\n\n const expressionRules = noDefaultExampleRules ? undefined : defaultExpressionRules;\n\n if (exampleCodeRegex) {\n exampleCodeRegex = utils.getRegexFromString(exampleCodeRegex);\n }\n\n if (rejectExampleCodeRegex) {\n rejectExampleCodeRegex = utils.getRegexFromString(rejectExampleCodeRegex);\n }\n\n /**\n * @param {{\n * filename: string,\n * defaultFileName: string|undefined,\n * source: string,\n * targetTagName: string,\n * rules?: import('eslint').Linter.RulesRecord|undefined,\n * lines?: import('../iterateJsdoc.js').Integer,\n * cols?: import('../iterateJsdoc.js').Integer,\n * skipInit?: boolean,\n * sources?: {\n * nonJSPrefacingCols: import('../iterateJsdoc.js').Integer,\n * nonJSPrefacingLines: import('../iterateJsdoc.js').Integer,\n * string: string,\n * }[],\n * tag?: import('comment-parser').Spec & {\n * line?: import('../iterateJsdoc.js').Integer,\n * }|{\n * line: import('../iterateJsdoc.js').Integer,\n * }\n * }} cfg\n */\n const checkSource = ({\n filename,\n defaultFileName,\n rules = expressionRules,\n lines = 0,\n cols = 0,\n skipInit,\n source,\n targetTagName,\n sources = [],\n tag = {\n line: 0,\n },\n }) => {\n if (!skipInit) {\n sources.push({\n nonJSPrefacingCols: cols,\n nonJSPrefacingLines: lines,\n string: source,\n });\n }\n\n // Todo: Make fixable\n\n /**\n * @param {{\n * nonJSPrefacingCols: import('../iterateJsdoc.js').Integer,\n * nonJSPrefacingLines: import('../iterateJsdoc.js').Integer,\n * string: string\n * }} cfg\n */\n const checkRules = function ({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n }) {\n const cliConfig = {\n allowInlineConfig,\n baseConfig,\n configFile,\n reportUnusedDisableDirectives,\n rulePaths,\n rules,\n useEslintrc: checkEslintrc,\n };\n const cliConfigStr = JSON.stringify(cliConfig);\n\n const src = paddedIndent ?\n string.replaceAll(new RegExp(`(^|\\n) {${paddedIndent}}(?!$)`, 'gu'), '\\n') :\n string;\n\n // Programmatic ESLint API: https://eslint.org/docs/developer-guide/nodejs-api\n const fileNameMapKey = filename ?\n 'a' + cliConfigStr + filename :\n 'b' + cliConfigStr + defaultFileName;\n const file = filename || defaultFileName;\n let cliFile;\n if (matchingFileNameMap.has(fileNameMapKey)) {\n cliFile = matchingFileNameMap.get(fileNameMapKey);\n } else {\n const cli = new CLIEngine(cliConfig);\n let config;\n if (filename || checkEslintrc) {\n config = cli.getConfigForFile(file);\n }\n\n // We need a new instance to ensure that the rules that may only\n // be available to `file` (if it has its own `.eslintrc`),\n // will be defined.\n cliFile = new CLIEngine({\n allowInlineConfig,\n baseConfig: {\n ...baseConfig,\n ...config,\n },\n configFile,\n reportUnusedDisableDirectives,\n rulePaths,\n rules,\n useEslintrc: false,\n });\n matchingFileNameMap.set(fileNameMapKey, cliFile);\n }\n\n const {\n results: [\n {\n messages,\n },\n ],\n } = cliFile.executeOnText(src);\n\n if (!('line' in tag)) {\n tag.line = tag.source[0].number;\n }\n\n // NOTE: `tag.line` can be 0 if of form `/** @tag ... */`\n const codeStartLine = /**\n * @type {import('comment-parser').Spec & {\n * line: import('../iterateJsdoc.js').Integer,\n * }}\n */ (tag).line + nonJSPrefacingLines;\n const codeStartCol = likelyNestedJSDocIndentSpace;\n\n for (const {\n message,\n line,\n column,\n severity,\n ruleId,\n } of messages) {\n const startLine = codeStartLine + line + zeroBasedLineIndexAdjust;\n const startCol = codeStartCol + (\n\n // This might not work for line 0, but line 0 is unlikely for examples\n line <= 1 ? nonJSPrefacingCols + firstLinePrefixLength : preTagSpaceLength\n ) + column;\n\n report(\n '@' + targetTagName + ' ' + (severity === 2 ? 'error' : 'warning') +\n (ruleId ? ' (' + ruleId + ')' : '') + ': ' +\n message,\n null,\n {\n column: startCol,\n line: startLine,\n },\n );\n }\n };\n\n for (const targetSource of sources) {\n checkRules(targetSource);\n }\n };\n\n /**\n *\n * @param {string} filename\n * @param {string} [ext] Since `eslint-plugin-markdown` v2, and\n * ESLint 7, this is the default which other JS-fenced rules will used.\n * Formerly \"md\" was the default.\n * @returns {{defaultFileName: string|undefined, filename: string}}\n */\n const getFilenameInfo = (filename, ext = 'md/*.js') => {\n let defaultFileName;\n if (!filename) {\n const jsFileName = context.getFilename();\n if (typeof jsFileName === 'string' && jsFileName.includes('.')) {\n defaultFileName = jsFileName.replace(/\\..*?$/u, `.${ext}`);\n } else {\n defaultFileName = `dummy.${ext}`;\n }\n }\n\n return {\n defaultFileName,\n filename,\n };\n };\n\n if (checkDefaults) {\n const filenameInfo = getFilenameInfo(matchingFileNameDefaults, 'jsdoc-defaults');\n utils.forEachPreferredTag('default', (tag, targetTagName) => {\n if (!tag.description.trim()) {\n return;\n }\n\n checkSource({\n source: `(${utils.getTagDescription(tag)})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkParams) {\n const filenameInfo = getFilenameInfo(matchingFileNameParams, 'jsdoc-params');\n utils.forEachPreferredTag('param', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkProperties) {\n const filenameInfo = getFilenameInfo(matchingFileNameProperties, 'jsdoc-properties');\n utils.forEachPreferredTag('property', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n const tagName = /** @type {string} */ (utils.getPreferredTagName({\n tagName: 'example',\n }));\n if (!utils.hasTag(tagName)) {\n return;\n }\n\n const matchingFilenameInfo = getFilenameInfo(matchingFileName);\n\n utils.forEachPreferredTag('example', (tag, targetTagName) => {\n let source = /** @type {string} */ (utils.getTagDescription(tag));\n const match = source.match(hasCaptionRegex);\n\n if (captionRequired && (!match || !match[1].trim())) {\n report('Caption is expected for examples.', null, tag);\n }\n\n source = source.replace(hasCaptionRegex, '');\n const [\n lines,\n cols,\n ] = match ? getLinesCols(match[0]) : [\n 0, 0,\n ];\n\n if (exampleCodeRegex && !exampleCodeRegex.test(source) ||\n rejectExampleCodeRegex && rejectExampleCodeRegex.test(source)\n ) {\n return;\n }\n\n const sources = [];\n let skipInit = false;\n if (exampleCodeRegex) {\n let nonJSPrefacingCols = 0;\n let nonJSPrefacingLines = 0;\n\n let startingIndex = 0;\n let lastStringCount = 0;\n\n let exampleCode;\n exampleCodeRegex.lastIndex = 0;\n while ((exampleCode = exampleCodeRegex.exec(source)) !== null) {\n const {\n index,\n '0': n0,\n '1': n1,\n } = exampleCode;\n\n // Count anything preceding user regex match (can affect line numbering)\n const preMatch = source.slice(startingIndex, index);\n\n const [\n preMatchLines,\n colDelta,\n ] = getLinesCols(preMatch);\n\n let nonJSPreface;\n let nonJSPrefaceLineCount;\n if (n1) {\n const idx = n0.indexOf(n1);\n nonJSPreface = n0.slice(0, idx);\n nonJSPrefaceLineCount = countChars(nonJSPreface, '\\n');\n } else {\n nonJSPreface = '';\n nonJSPrefaceLineCount = 0;\n }\n\n nonJSPrefacingLines += lastStringCount + preMatchLines + nonJSPrefaceLineCount;\n\n // Ignore `preMatch` delta if newlines here\n if (nonJSPrefaceLineCount) {\n const charsInLastLine = nonJSPreface.slice(nonJSPreface.lastIndexOf('\\n') + 1).length;\n\n nonJSPrefacingCols += charsInLastLine;\n } else {\n nonJSPrefacingCols += colDelta + nonJSPreface.length;\n }\n\n const string = n1 || n0;\n sources.push({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n });\n startingIndex = exampleCodeRegex.lastIndex;\n lastStringCount = countChars(string, '\\n');\n if (!exampleCodeRegex.global) {\n break;\n }\n }\n\n skipInit = true;\n }\n\n checkSource({\n cols,\n lines,\n rules: mdRules,\n skipInit,\n source,\n sources,\n tag,\n targetTagName,\n ...matchingFilenameInfo,\n });\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n allowInlineConfig: {\n default: true,\n type: 'boolean',\n },\n baseConfig: {\n type: 'object',\n },\n captionRequired: {\n default: false,\n type: 'boolean',\n },\n checkDefaults: {\n default: false,\n type: 'boolean',\n },\n checkEslintrc: {\n default: true,\n type: 'boolean',\n },\n checkParams: {\n default: false,\n type: 'boolean',\n },\n checkProperties: {\n default: false,\n type: 'boolean',\n },\n configFile: {\n type: 'string',\n },\n exampleCodeRegex: {\n type: 'string',\n },\n matchingFileName: {\n type: 'string',\n },\n matchingFileNameDefaults: {\n type: 'string',\n },\n matchingFileNameParams: {\n type: 'string',\n },\n matchingFileNameProperties: {\n type: 'string',\n },\n noDefaultExampleRules: {\n default: false,\n type: 'boolean',\n },\n paddedIndent: {\n default: 0,\n type: 'integer',\n },\n rejectExampleCodeRegex: {\n type: 'string',\n },\n reportUnusedDisableDirectives: {\n default: true,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkIndentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkIndentation.d.ts","sourceRoot":"","sources":["../../src/rules/checkIndentation.js"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ export type CustomSpacings = {
4
+ postDelimiter: import('../iterateJsdoc.js').Integer;
5
+ postHyphen: import('../iterateJsdoc.js').Integer;
6
+ postName: import('../iterateJsdoc.js').Integer;
7
+ postTag: import('../iterateJsdoc.js').Integer;
8
+ postType: import('../iterateJsdoc.js').Integer;
9
+ };
10
+ //# sourceMappingURL=checkLineAlignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkLineAlignment.d.ts","sourceRoot":"","sources":["../../src/rules/checkLineAlignment.js"],"names":[],"mappings":";;6BAWa;IACZ,aAAiB,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;IACxD,UAAc,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;IACrD,QAAY,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;IACnD,OAAW,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;IAClD,QAAY,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAC;CAChD"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkParamNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkParamNames.d.ts","sourceRoot":"","sources":["../../src/rules/checkParamNames.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkPropertyNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkPropertyNames.d.ts","sourceRoot":"","sources":["../../src/rules/checkPropertyNames.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkSyntax.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkSyntax.d.ts","sourceRoot":"","sources":["../../src/rules/checkSyntax.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkTagNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkTagNames.d.ts","sourceRoot":"","sources":["../../src/rules/checkTagNames.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkTypes.d.ts","sourceRoot":"","sources":["../../src/rules/checkTypes.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=checkValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkValues.d.ts","sourceRoot":"","sources":["../../src/rules/checkValues.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=emptyTags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptyTags.d.ts","sourceRoot":"","sources":["../../src/rules/emptyTags.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=implementsOnClasses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementsOnClasses.d.ts","sourceRoot":"","sources":["../../src/rules/implementsOnClasses.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=importsAsDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importsAsDependencies.d.ts","sourceRoot":"","sources":["../../src/rules/importsAsDependencies.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=informativeDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"informativeDocs.d.ts","sourceRoot":"","sources":["../../src/rules/informativeDocs.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=matchDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchDescription.d.ts","sourceRoot":"","sources":["../../src/rules/matchDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=matchName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchName.d.ts","sourceRoot":"","sources":["../../src/rules/matchName.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=multilineBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multilineBlocks.d.ts","sourceRoot":"","sources":["../../src/rules/multilineBlocks.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noBadBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBadBlocks.d.ts","sourceRoot":"","sources":["../../src/rules/noBadBlocks.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noBlankBlockDescriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBlankBlockDescriptions.d.ts","sourceRoot":"","sources":["../../src/rules/noBlankBlockDescriptions.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noBlankBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBlankBlocks.d.ts","sourceRoot":"","sources":["../../src/rules/noBlankBlocks.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noDefaults.d.ts","sourceRoot":"","sources":["../../src/rules/noDefaults.js"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ export type ContextObject = {
4
+ comment: string;
5
+ context: string;
6
+ message: string;
7
+ minimum: import('../iterateJsdoc.js').Integer;
8
+ };
9
+ export type Context = string | ContextObject;
10
+ //# sourceMappingURL=noMissingSyntax.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noMissingSyntax.d.ts","sourceRoot":"","sources":["../../src/rules/noMissingSyntax.js"],"names":[],"mappings":";;4BAGa;IACZ,OAAW,EAAE,MAAM,CAAC;IACpB,SAAa,MAAM,CAAC;IACpB,OAAW,EAAE,MAAM,CAAC;IACpB,OAAW,EAAE,OAAO,oBAAoB,EAAE,OAAO,CAAA;CAC9C;sBAIS,MAAM,GAAC,aAAa"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noMultiAsterisks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noMultiAsterisks.d.ts","sourceRoot":"","sources":["../../src/rules/noMultiAsterisks.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noRestrictedSyntax.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noRestrictedSyntax.d.ts","sourceRoot":"","sources":["../../src/rules/noRestrictedSyntax.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noTypes.d.ts","sourceRoot":"","sources":["../../src/rules/noTypes.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=noUndefinedTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noUndefinedTypes.d.ts","sourceRoot":"","sources":["../../src/rules/noUndefinedTypes.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireAsteriskPrefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireAsteriskPrefix.d.ts","sourceRoot":"","sources":["../../src/rules/requireAsteriskPrefix.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireDescription.d.ts","sourceRoot":"","sources":["../../src/rules/requireDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireDescriptionCompleteSentence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireDescriptionCompleteSentence.d.ts","sourceRoot":"","sources":["../../src/rules/requireDescriptionCompleteSentence.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireExample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireExample.d.ts","sourceRoot":"","sources":["../../src/rules/requireExample.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireFileOverview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireFileOverview.d.ts","sourceRoot":"","sources":["../../src/rules/requireFileOverview.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireHyphenBeforeParamDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireHyphenBeforeParamDescription.d.ts","sourceRoot":"","sources":["../../src/rules/requireHyphenBeforeParamDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ declare const _default: import('eslint').Rule.RuleModule;
2
+ export default _default;
3
+ export type RequireJsdocOpts = {
4
+ ancestorsOnly: boolean;
5
+ esm: boolean;
6
+ initModuleExports: boolean;
7
+ initWindow: boolean;
8
+ };
9
+ //# sourceMappingURL=requireJsdoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireJsdoc.d.ts","sourceRoot":"","sources":["../../src/rules/requireJsdoc.js"],"names":[],"mappings":"wBA+RW,OAAO,QAAQ,EAAE,IAAI,CAAC,UAAU;;+BAnR9B;IACZ,aAAiB,EAAE,OAAO,CAAC;IAC3B,GAAO,EAAE,OAAO,CAAC;IACjB,iBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAc,EAAE,OAAO,CAAA;CACpB"}
@@ -0,0 +1,4 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ export type RootNamerReturn = [string, boolean, () => [string, boolean, () => RootNamerReturn]];
4
+ //# sourceMappingURL=requireParam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireParam.d.ts","sourceRoot":"","sources":["../../src/rules/requireParam.js"],"names":[],"mappings":";;8BAGa,CAAC,MAAM,EAAE,OAAO,EAAE,8CAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireParamDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireParamDescription.d.ts","sourceRoot":"","sources":["../../src/rules/requireParamDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireParamName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireParamName.d.ts","sourceRoot":"","sources":["../../src/rules/requireParamName.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireParamType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireParamType.d.ts","sourceRoot":"","sources":["../../src/rules/requireParamType.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireProperty.d.ts","sourceRoot":"","sources":["../../src/rules/requireProperty.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requirePropertyDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirePropertyDescription.d.ts","sourceRoot":"","sources":["../../src/rules/requirePropertyDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requirePropertyName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirePropertyName.d.ts","sourceRoot":"","sources":["../../src/rules/requirePropertyName.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requirePropertyType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirePropertyType.d.ts","sourceRoot":"","sources":["../../src/rules/requirePropertyType.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireReturns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireReturns.d.ts","sourceRoot":"","sources":["../../src/rules/requireReturns.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireReturnsCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireReturnsCheck.d.ts","sourceRoot":"","sources":["../../src/rules/requireReturnsCheck.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireReturnsDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireReturnsDescription.d.ts","sourceRoot":"","sources":["../../src/rules/requireReturnsDescription.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireReturnsType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireReturnsType.d.ts","sourceRoot":"","sources":["../../src/rules/requireReturnsType.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireThrows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireThrows.d.ts","sourceRoot":"","sources":["../../src/rules/requireThrows.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireYields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requireYields.d.ts","sourceRoot":"","sources":["../../src/rules/requireYields.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("eslint").Rule.RuleModule;
2
+ export default _default;
3
+ //# sourceMappingURL=requireYieldsCheck.d.ts.map